python Flask 文件上传
时间: 2023-10-16 10:31:22 浏览: 54
在 Flask 中进行文件上传,可以使用 Flask 提供的 `request` 对象来获取上传的文件,步骤如下:
1. 在 HTML 表单中添加文件上传控件:
```html
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
2. 在 Flask 中编写路由函数,处理文件上传请求:
```python
from flask import request
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
# file.save() 处理上传文件
return 'File uploaded successfully!'
```
在上面的代码中,通过 `request.files` 获取上传的文件,`file` 的类型是 `FileStorage` 类型,可以通过 `file.filename` 获取文件名,通过 `file.save()` 将文件保存到指定的位置。
**注意:**在表单中添加 `enctype="multipart/form-data"` 属性,表示这是一个文件上传表单。
完整代码示例:
```python
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
file.save(file.filename)
return 'File uploaded successfully!'
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
```
在这个示例中,上传的文件将保存在当前工作目录下。