首页 > 解决方案 > 上传具有不允许的文件类型或没有文件的文件时处理 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)

标签: pythonflaskflask-uploadsflask-reuploaded

解决方案


在实例上调用方法时处理flask_uploads.exceptions.UploadNotAllowed异常。saveUploadSet

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')

然后,您可以通过获取闪烁的消息来呈现呈现模板中的文件。


推荐阅读