python - 上传具有不允许的文件类型或没有文件的文件时处理 Flask-Reuploaded 错误
问题描述
您好,
我正在尝试在上传具有不允许的文件类型的文件或在未选择任何文件的情况下提交时处理错误。
我得到的只是“flask_uploads.exceptions.UploadNotAllowed”和网页“内部服务器错误”。我想闪烁一条错误消息,但不知道如何处理该错误。我用谷歌搜索并阅读了文档,但找不到方法。
选择和提交正确类型的文件/文件(在本例中为 IMAGES)时,一切正常。
谢谢!
if request.method == 'POST':
if form.validate_on_submit() and 'artwork' in request.files:
art = form.artwork.data
this_artf = art_f+'/'+str(order_no_art)
app.config['UPLOADED_IMAGES_DEST'] = this_artf
images = UploadSet('images', IMAGES)
configure_uploads(app, images)
for image in art:
images.save(image)
解决方案
在实例上调用方法时处理flask_uploads.exceptions.UploadNotAllowed
异常。save
UploadSet
from flask_uploads.exceptions import UploadNotAllowed
from flask import flash # make sure to configure secret key for your app
#....
error_files = []
for image in art:
try:
images.save(image)
except flask_uploads.exceptions.UploadNotAllowed as err:
error_files.append(image.filename)
continue
flash(error_files, 'error')
然后,您可以通过获取闪烁的消息来呈现呈现模板中的文件。
推荐阅读
- c# - XML 文件序列化问题
- kubernetes - 无法连接到服务器:net/http: TLS 握手超时
- python - 查找匹配熊猫条件的第一行的索引
- elasticsearch - 向 elasticsearch 添加索引并在 Kibana 地图中创建术语连接
- python - 使用 flask_sqlalchemy 的多对多查询
- java - Java 这是多重继承吗?还是可以接受的?
- php - 发送数据时循环遍历数组
- javascript - 是 d3.axisBottom().tickFormat(""); 一种用刻度和没有刻度标签来渲染轴的预期方法?
- halide - 使用 AutoScheduler 和 GPU 调度时卤化物索引错误,但不是默认 CPU 调度
- python - 禁用某些类、Visual Studio Code、Python 的自动完成功能