photos = UploadSet('PHOTO')
时间: 2023-08-09 08:09:55 浏览: 144
`UploadSet` 是 Flask-Uploads 扩展中的一个类,用于表示上传文件的集合。它提供了一些方法来管理上传的文件,如保存、删除、获取文件信息等。`UploadSet` 的构造函数需要指定一个名称,用于标识这个上传文件集合的类型,比如 `'PHOTO'`、`'DOCUMENT'` 等。
在 Flask 应用程序中,我们可以通过以下代码创建一个名为 `'PHOTO'` 的上传文件集合:
```python
from flask_uploads import UploadSet
photos = UploadSet('PHOTO')
```
在实际使用中,我们可以通过 `save` 方法将上传的文件保存到指定的目录中,也可以通过 `url` 方法获取上传文件的 URL 地址,以便在页面中展示上传的图片。例如:
```python
from flask import Flask, render_template_string, request
from flask_uploads import UploadSet, configure_uploads, IMAGES
app = Flask(__name__)
app.config['UPLOADED_PHOTOS_DEST'] = 'uploads/photos'
app.config['SECRET_KEY'] = 'secret'
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
@app.route('/', methods=['GET', 'POST'])
def upload():
if request.method == 'POST' and 'photo' in request.files:
filename = photos.save(request.files['photo'])
file_url = photos.url(filename)
return render_template_string('<img src="{{ file_url }}" />', file_url=file_url)
return render_template_string('''
<form method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<button type="submit">Upload</button>
</form>
''')
```
在这个例子中,我们在 Flask 应用程序中创建了一个名为 `'photos'` 的上传文件集合,通过 `configure_uploads` 方法将其配置到应用程序中。当用户上传图片时,我们通过 `save` 方法将其保存到 `'uploads/photos'` 目录中,通过 `url` 方法获取图片的 URL 地址,最后在页面中展示上传的图片。
阅读全文