前端思路(基於Vue-cli3)
這種情況屬於本地下載,適合模版文件等靜態文件下載。
將需要下載的文件放在public文件下,設置a標簽如下。
a(:href="`${path}template.xlsx`" download='模版.xlsx' ) 下載模版
# href屬性數文件在項目的路徑,文件必需英文名,download屬性設置下載本地時的文件名稱,可以中文。
path:process.env.BASE_URL,
參考:https://cli.vuejs.org/zh/guide/html-and-static-assets.html#public-文件夾
后端思路(基於flask)
這種情況適合各種類型文件,
首先前端的a標簽指定下載的路徑
然后后端返回文件流
from flask import Flask, send_from_directory
app = Flask(__name__)
@app.route("/download")
def index():
return send_from_directory(r"./template.xlsx",filename="123.xlsx",as_attachment=True)
if __name__ == '__main__':
print(app.url_map)
app.run(host="localhost", port=5000)