读取服务器已存在的文件
@app.route('/download', methods=['GET']) #app.py def testdownload(): fileName = request.args.get("fileName") file = os.path.join('upload', fileName) response = make_response(send_file(file)) response.headers["Content-Disposition"] = "attachment; filename={};".format(file) return response
1
2
3
4
5
6
7
8
9
10
|
@
app
.
route
(
'/download'
,
methods
=
[
'GET'
]
)
#app.py
def
testdownload
(
)
:
fileName
=
request
.
args
.
get
(
"fileName"
)
file
=
os.path
.
join
(
'upload'
,
fileName
)
response
=
make_response
(
send_file
(
file
)
)
response
.
headers
[
"Content-Disposition"
]
=
"attachment; filename={};"
.
format
(
file
)
return
response
|
# download.html <h3><a href="{{ url_for('testdownload',fileName='data.csv') }}" class="btn btn-primary">下载</a></h3>
1
2
|
# download.html
<
h3
>
<
a
href
=
"{{ url_for('testdownload',fileName='data.csv') }}"
class
=
"btn btn-primary"
>下载
<
/
a
>
<
/
h3
>
|
后台直接生产文件:
from <span class="wp_keywordlink_affiliate"><a href="https://www.168seo.cn/tag/flask" title="View all posts in flask" target="_blank">flask</a></span> import make_response @app.route('/testdownload', methods=['GET']) def testdownload(): content = "long text" response = make_response(content) response.headers["Content-Disposition"] = "attachment; filename=myfilename.txt" return response
1
2
3
4
5
6
7
8
9
10
11
12
13
|
from
flask
import
make
_response
@
app
.
route
(
'/testdownload'
,
methods
=
[
'GET'
]
)
def
testdownload
(
)
:
content
=
"long text"
response
=
make_response
(
content
)
response
.
headers
[
"Content-Disposition"
]
=
"attachment; filename=myfilename.txt"
return
response
|