javascript - 如何在FrontEnd中指定下载文件名

标签 javascript

更新:

Creating a Blob from a base64 string in JavaScript

我正在尝试实现单击按钮并从其 DataURL 下载文件。

目前,由于Chrome已经限制了旧的构建方式如<a>抛出错误的链接:

Not allowed to navigate top frame to data 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)

当我点击按钮时,下载有效,但下载的图片文件名为“下载”,我无法指定我希望它默认使用的文件名。

有什么想法吗?

最佳答案

查看 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();

关于javascript - 如何在FrontEnd中指定下载文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51199879/

相关文章:

javascript - Meteor Flow Router 设置 example.com/singlePostPage

javascript - Highcharts 同步图表与多轴数据集

javascript - JqPlot 荧光笔在条形图上错位

javascript - 如何使用 Nightwatch 回顾历史?

javascript - 如何动态决定是否将 Prop 传递给 react 组件?

javascript - 如何分析并获取 Javascript 性能

javascript - 在 Knockoutjs 中设置计算对象的 observableArray 的更好方法

javascript - Node JS : Convert retrieved data from DB as JSON to Plain text

javascript - console.log() 打印输出函数

javascript - GraphQL:从对象构建查询参数