python 代码写api接口 入参为文件
时间: 2024-09-23 12:10:24 浏览: 86
在Python中,为了创建一个API接口,接受文件作为入参,可以使用Flask、FastAPI等web框架。这里以Flask为例,因为它的设置相对简单。假设我们想要接收上传的图片文件,你可以这样做:
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
if 'file' not in request.files:
return jsonify({'error': 'No file part'}), 400
file = request.files['file']
if file.filename == '':
return jsonify({'error': 'No selected file'}), 400
# 检查文件类型(例如只允许jpg或png)
allowed_extensions = {'jpg', 'jpeg', 'png'}
if file.filename.split('.')[-1].lower() not in allowed_extensions:
return jsonify({'error': f'Unsupported file type. Allowed are {allowed_extensions}.'}), 400
try:
# 将文件保存到服务器指定目录
filename = secure_filename(file.filename)
file.save(f'uploads/{filename}')
response = {'message': f'Successfully uploaded: {filename}', 'status': 'success'}
return jsonify(response), 200
except Exception as e:
return jsonify({'error': str(e)}), 500
if __name__ == '__main__':
app.run(debug=True)
```
在这个例子中,当用户通过`POST`请求发送一个名为`file`的文件字段时,服务器会检查文件类型并将其保存到`uploads`目录下。如果文件操作失败,将返回错误信息。
阅读全文