下载文件而不是在javascript中打开

时间:2016-10-02 05:47:52

标签: javascript

我使用函数http://js.cytoscape.org/#cy.jpg以jpg格式获取图表。

我将其与window.location.assign(cy.jpg());一起使用,但它会打开图片,在同一个标​​签页中打开。

我想要下载而不是在标签中打开。我想我必须设置content-disposition = attachment或类似的东西。

修改

我用

解决了这个问题
const link = document.createElement('a');
link.download = 'filename.png';
link.href = cy.png();
link.click();

但是,它在所有浏览器中都不兼容。

1 个答案:

答案 0 :(得分:0)

您可以将<a>元素href属性设置为cy.png()的结果,将download属性设置为<a>元素,将click()调用{ {1}}元素。

或者,您可以使用<a>替换MIME返回的"image/png" data URI部分cy.png(),然后将"application/octet-stream"设置为替换{ {1}}

location.href

另见How to download a file without using <a> element with download attribute or a server?