在JavaScript中从DataURL下载文件

时间:2012-01-09 17:33:42

标签: javascript filewriter data-url

我们从DataURL获取这个字符串,将其作为文件下载的最佳方式是什么?

到目前为止,我得到的是使用基本window.open("myDataURL");,但我无法以这种方式更改文件名。

window.open('data:application/msword;base64,0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAA
             PgADAP7/CQAGAAAAAAAAAAAAAAACAAAANQAAAAAAA
             AAAEAAANwAAAAIAAAD+////AAAAADQAAABsAA/',
             '_blank','height=300,width=400');

我想知道是否有任何方法可以正确处理这些数据。

2 个答案:

答案 0 :(得分:3)

您可以将 download 属性添加到锚元素中。 样品:

<a download="abcd.zip" href="data:application/stream;base64,MIIDhTCCAvKg........">download</a>

答案 1 :(得分:0)

试试这个:

data:application/msword;fileName=test.doc;base64,0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAANQAAAAAAAAAAEAAANwAAAAIAAAD+////AAAAADQAAABsAA/

但这只是谷歌搜索的猜测,可能依赖于浏览器。对此的真正答案是,你不能 - 请参阅http://www.ietf.org/rfc/rfc2397以供参考,规范中没有任何内容支持文件名。