如何解决使用 element.download 下载文件后,ASCII 标记“DC3”丢失
我有一个使用 SheetJS 构建 Excel 文件的脚本,如果文件只是保存到目录中,它可以正常工作,但是当我使用 element.download
从浏览器下载此文件时,我收到来自 Excel 的损坏文件错误。在使用 npp 检查这两个文件时,我注意到下载的文件中缺少所有 DC3 标签。
为什么会发生这种情况,我该如何解决?
SheetJS 代码:
var wb = XLSX.utils.book_new()
var ws = XLSX.utils.json_to_sheet(data);
XLSX.utils.book_append_sheet(wb,ws,'test');
XLSX.writeFile(wb,'test.xlsx');
var excelData = fs.readFileSync('./test.xlsx','utf8')
res.send(excelData);
浏览器端代码:
var xhr = new XMLHttpRequest();
xhr.open("POST",'http://10.0.0.222:9999',true);
xhr.setRequestHeader('Content-Type','application/json');
xhr.send(JSON.stringify(goodJSON))
var excel = xhr.response;
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/text,' + encodeURI(excel);
hiddenElement.target = '_blank';
hiddenElement.download = 'myFile.xlsx';
hiddenElement.click();
10.0.0.222:9999 是我的带有 SheetJS 代码的 NodeJS 应用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。