更新:
Creating a Blob from a base64 string in JavaScript
我正在尝试实现单击按钮并从其DataURL下载文件。
当前,由于Chrome浏览器已限制了诸如建立<a>
链接之类的旧方法,因此会引发如下错误:
不允许将顶部框架导航到数据URL:...。
我找到的解决方案是使用iframe打开新窗口并将DataURL设置为其src
let jpgWindow = window.open("", "_blank")
var html = "<html><body><iframe width='100%' height='100%' src='data:application/jpeg;base64, "+ theDataURL+"'></iframe></body></html>";
jpgWindow.document.write(html)
当我单击按钮时,下载成功,但是图片的下载文件名为“ download”,我无法指定我希望默认使用的文件名。
有什么想法吗?
答案 0 :(得分:2)
查看window.URL.createObjectURL
https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
const blob = new Blob(['array of data in your file'], {type : 'text/rtf'});
const anchor = document.createElement('a');
anchor.href = window.URL.createObjectURL(blob);
anchor.download = 'the-file-name.txt';
anchor.click();