使用ajax发布下载文件

时间:2018-07-13 22:42:38

标签: jquery ajax flask

因此,我正在向服务器发送AJAX发布请求,以便获取信息并生成文件。我能够生成文件,甚至可以使用console.log(data)在完成的函数中对其进行控制台。

我只是不确定如何下载它;我尝试了创建元素并使用js单击它的解决方案,但似乎没有用。

其他信息:

我正在使用Jquery发送Ajax请求。 该Web应用程序是python flask应用程序。

1 个答案:

答案 0 :(得分:0)

这可能不是最好的方法,但是这是我必须做的,因为我的jquery版本不是最新更新,所以我不得不将ajax函数保存到变量名称xhr中,以获取响应标头

success: function (data) {
 var disposition = xhr.getResponseHeader('content-disposition');
 var matches = /"([^"]*)"/.exec(disposition);
 var filename = (matches != null && matches[1] ? matches[1] : 'file.pdf');

 var blob = new Blob([data], {type: 'application/pdf'});
 var link = document.createElement('a');
 link.href = window.URL.createObjectURL(blob);
 link.download = filename;

 document.body.appendChild(link);

 link.click();

 document.body.removeChild(link);

}

改编自https://nehalist.io/downloading-files-from-post-requests/

相关问题