用于下载文件的flask html链接

时间:2018-05-09 14:02:09

标签: javascript python jquery html flask

我正在构建一个允许用户从我的服务器下载文件的网站。 我写了一条服务文件的路线:

@api.route('/download_results/<path:filename>')
def download_results(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename, as_attachment=True)

如果我尝试使用这样的html标签:

<a class="btn btn-primary" herf="http://localhost/api/download_results/1234567890/results.zip" download="results.zip">Download results</a>

它不起作用。但如果我在jQuery中添加一个事件监听器:

$('a').on('click', function(event) {
     event.preventDefault();
     window.location.href = location.origin + '/api/download_results/' + data.parsedData[0];
 });

它可以工作,我可以下载,但我得到一个警告:

  

资源被解释为文档但以MIME类型传输   应用程序/ x-ZIP压缩的:   “http://localhost/api/download_results/1234567890/results.zip”。

任何人都知道我做错了什么以及如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:2)

您的锚标记的href属性应该是一个错字。