flask框架中有什么办法可以保存用户上传的文件
时间: 2024-05-10 09:14:54 浏览: 8
在 Flask 框架中,可以使用 Flask 自带的文件上传模块 `werkzeug.utils` 中的 `secure_filename` 函数来保证文件名的安全性,然后将文件保存到指定的目录中。
具体的实现步骤如下:
1. 在 HTML 表单中添加文件上传控件:
```html
<form action="{{ url_for('upload') }}" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
```
2. 在 Flask 路由中处理文件上传请求:
```python
import os
from werkzeug.utils import secure_filename
from flask import Flask, request, render_template
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return '上传成功'
```
在上面的例子中,我们将上传的文件保存到了 `uploads` 目录中,你可以根据自己的需要修改这个路径。需要注意的是,保存文件时需要确保文件名是安全的,因此要使用 `secure_filename` 函数对文件名进行过滤。