在flask中上传文件并显示错误消息

2024-03-29 06:56:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在实现一个应用程序来处理GPS数据。在应用程序中,用户可以上传文件,这些文件将在服务器中处理。你知道吗

我需要验证用户上传的文件扩展名。但问题是扩展是可以改变的。你知道吗

.17o, .11o, .12o, .13o, .14o, .15o, .23o, .54o

常见的模式是

.*o, .*n, .*obs, .*nav, .nav, .obs

*始终是2位数字

这就是我尝试过的

ALLOWED_EXTENSIONS = set(["*+'n'" , "*+'o'"])

如何更改ALLOWED_EXTENSIONS以接受上述常见模式。你知道吗

我使用了flask documentation作为上传文件引用

我想我必须改变这个功能

def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

Tags: 文件数据用户in服务器应用程序模式extensions
1条回答
网友
1楼 · 发布于 2024-03-29 06:56:42

不如创建一个允许的扩展名来匹配这些文件名。所以,让我们这样做:

import re

ALLOWED_EXTENSIONS_PTN = re.compile(r"\d{2}(o|n|obs|nav)$") # matches 2 digits and any of o, n, obs, nav

def allowed_file(filename):
    return '.' in filename and \
        bool(ALLOWED_EXTENSIONS_PTN.match(filename.rsplit('.', 1)[1].lower()))

相关问题 更多 >