flask_uploads 如何使用
时间: 2024-02-22 18:58:43 浏览: 20
`Flask-Uploads` 是一个 Flask 扩展,用于处理文件上传。它可以方便地将文件上传到服务器,并提供了许多有用的功能,如文件大小限制、文件类型限制等。
使用 `Flask-Uploads`,您需要安装 Flask 和 `Flask-Uploads` 包。安装命令如下:
```
pip install Flask==2.0.1 Flask-Uploads==0.2.2
```
以下是一个简单的示例,演示如何使用 `Flask-Uploads` 将文件上传到服务器。假设您想要上传的文件在 HTML 表单中具有 `file` 的名称,可以使用以下代码:
```python
from flask import Flask, request
from flask_uploads import UploadSet, configure_uploads, IMAGES
app = Flask(__name__)
# 配置上传文件的类型
photos = UploadSet('photos', IMAGES)
# 配置 Flask-Uploads
app.config['UPLOADED_PHOTOS_DEST'] = 'uploads/photos' # 上传文件保存的目录
configure_uploads(app, photos)
@app.route('/upload', methods=['POST'])
def upload():
# 从请求中获取文件
file = request.files['file']
# 保存文件到服务器
filename = photos.save(file)
# 返回上传成功的信息
return f'File {filename} uploaded successfully.'
if __name__ == '__main__':
app.run()
```
在上面的示例中,首先定义了一个 `photos` 的 UploadSet,它表示上传的文件类型是图片。然后,使用 `configure_uploads` 函数将 `photos` 配置到 Flask 应用程序中。
在 `upload` 视图函数中,使用 `request.files` 获取上传的文件,使用 `photos.save` 将文件保存到服务器。最后,返回上传成功的信息。
需要注意的是,上面的代码只是一个示例,实际应用中需要添加更多的安全机制,例如文件大小限制、文件类型限制等。
另外需要注意的是,`Flask-Uploads` 可以处理多个上传文件,上面的示例只是演示了如何处理单个文件的情况。