我想用Polymer的Iron-Ajax下载文件。
<iron-ajax
id="fileDownloader"
headers='{"Auth" :"token"}'
url="/my/server/rest/download/csv/{{id}}"
method="GET"
content-type="application/json"
on-response="downloadCsvCallLoaded"
on-error="downloadCsvCallFailed">
</iron-ajax>reposnse实际上包含数据,但它不会触发浏览器下载文件。
发布于 2017-02-17 23:16:38
我认为你需要在你的元素声明中使用handle-as="blob"属性。Here你可以找到更多关于它的信息。
发布于 2017-10-27 22:11:27
为了将blob作为文件进行流式传输,您可以通过以下链接使用FileSaver.js:enter link description here
发布于 2018-01-16 00:36:44
你似乎正在尝试下载一个CSV,这是我用过的一个变通方法,似乎在Chrome和Safari上运行得很好。它是关于下载数据,然后使用一个作为URI的嵌入式data:text使用一个虚拟的<a>来触发一个下载。JS下载功劳归How to export JavaScript array info to csv (on client side)?所有。
ironAjax.addEventListener("response", (event) => {
let csvContent = "data:text/csv;charset=utf-8," + event.detail.response;
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "filename.csv");
document.body.appendChild(link); // Required for FF
link.click(); // This will download the data file named "my_data.csv".
document.body.removeChild(link);
});https://stackoverflow.com/questions/42300657
复制相似问题