python3 flask 发送文件
时间: 2023-09-12 21:00:50 浏览: 198
Python 3中的Flask框架可以通过几种方式发送文件。
一种方式是使用`send_file`函数,该函数提供了从服务器发送文件的功能。要使用此方法,需要从`flask`模块导入`send_file`函数,并提供要发送的文件的路径作为参数。例如,可以使用以下代码发送名为`file.txt`的文本文件:
```
from flask import Flask, send_file
app = Flask(__name__)
@app.route('/download')
def download_file():
return send_file('path/to/file.txt')
if __name__ == '__main__':
app.run()
```
另一种方式是使用`send_from_directory`函数,该函数提供了从特定目录发送文件的功能。要使用此方法,需要从`flask`模块导入`send_from_directory`函数,并提供要发送的文件所在的目录和文件名作为参数。例如,可以使用以下代码发送位于`/path/to/directory`目录中的名为`file.txt`的文件:
```
from flask import Flask, send_from_directory
app = Flask(__name__)
@app.route('/download')
def download_file():
return send_from_directory('/path/to/directory', 'file.txt')
if __name__ == '__main__':
app.run()
```
无论是使用`send_file`函数还是`send_from_directory`函数,都可以通过设置`as_attachment`参数为`True`来提示浏览器将文件作为附件进行下载。例如,使用`send_file`函数可以这样设置:
```
return send_file('path/to/file.txt', as_attachment=True)
```
以上是在Flask中发送文件的两种常见方法。根据你的具体需求,你可以选择其中一种方法来发送文件。
阅读全文