在flask中读取未知名称的文件
时间: 2024-10-12 20:06:27 浏览: 20
python flask中静态文件的管理方法
在Flask框架中,如果你想要处理未知名称的文件上传,通常会通过处理multipart/form-data类型的请求来实现。用户通过表单提交文件时,文件会被封装在一个`werkzeug.datastructures.FileStorage`对象中。这个对象有一个`filename`属性,表示上传文件的原始名字。
下面是一个基本的例子,展示如何在Flask应用中处理这样的文件上传:
```python
from flask import Flask, request, send_from_directory
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
# 检查文件是否已成功上传并存在
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return 'File uploaded successfully!'
else:
return 'Invalid or disallowed file type.'
# 你可以添加一个辅助函数来检查文件类型是否允许
def allowed_file(filename):
# 这里可以根据需要自定义允许的文件类型列表
return '.' in filename and filename.rsplit('.', 1)[1].lower() in app.config['ALLOWED_EXTENSIONS']
if __name__ == '__main__':
app.run()
```
在这个例子中,你需要设置一个`UPLOAD_FOLDER`配置项来指定存储上传文件的位置,并在`allowed_file`函数中定义你的文件类型白名单。
阅读全文