flask实现文件上传
时间: 2023-10-29 14:16:57 浏览: 35
Flask可以通过 `request` 对象来处理文件上传。
首先需要在HTML表单中设置 `enctype="multipart/form-data"`,这样浏览器才能正确地将文件数据编码并发送到服务器端。例如:
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
在服务器端,需要编写一个路由处理函数来接收上传的文件。可以使用 `request.files` 来访问上传的文件,该对象提供了一些有用的方法和属性来处理上传的文件。
例如,以下代码演示了如何将上传的文件保存到本地磁盘:
```python
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
file.save('/path/to/save/file')
return 'File uploaded successfully'
```
在这个例子中,`request.files['file']` 返回一个 `FileStorage` 对象,`save()` 方法将文件保存到指定的路径中。
需要注意的是,上传文件时需要确保 Flask 应用有足够的权限来写入指定路径中。同时,应该对上传的文件进行一些安全检查,比如检查文件类型、文件大小等。