from flask import jsonify, json, request, make_response, Response, stream_with_context, send_file
import mimetypes
@api.route("/downloadFile/<path:filename>")
def downloadFile(filename):
import os
baseDir = os.path.join(os.getcwd(), "static")
pathname = os.path.join(baseDir, filename)
print pathname
def send_chunk(): # 流式讀取
store_path = pathname
with open(store_path, 'rb') as target_file:
while True:
chunk = target_file.read(20 * 1024 * 1024) # 每次讀取20M
if not chunk:
break
yield chunk
return Response(send_chunk(), content_type='application/octet-stream')
@api.route("/downloadFile2/<path:filename>")
def downloadFile2(filename):
import os
baseDir = os.path.join(os.getcwd(), "static")
pathname = os.path.join(baseDir, filename)
f = open(pathname, "rb")
response = Response(f.readlines())
# response = make_response(f.read())
mime_type = mimetypes.guess_type(filename)[0]
response.headers['Content-Type'] = mime_type
response.headers['Content-Disposition'] = 'attachment; filename={}'.format(filename.encode().decode('latin-1'))
return response
flask文件流下載
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。