【发布时间】:2017-09-28 01:34:38
【问题描述】:
我使用[Node][Angular] How to download excel files generated by node中提到的相同方式 但我仍然没有打开或保存任何弹出窗口。我可以在 Chrome 的网络窗口中看到缓冲区。
感谢任何帮助。
【问题讨论】:
标签: angularjs node.js excel xlsx
我使用[Node][Angular] How to download excel files generated by node中提到的相同方式 但我仍然没有打开或保存任何弹出窗口。我可以在 Chrome 的网络窗口中看到缓冲区。
感谢任何帮助。
【问题讨论】:
标签: angularjs node.js excel xlsx
在客户端你可以使用:
$http({method: 'GET', url: '/someUrl'}).
success(function(data, status, headers, config) {
let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const fileName = `file.xlsx`;
let file = new File([blob], fileName);
let fileUrl = URL.createObjectURL(file);
})
.error(function(data, status, headers, config){
});
我使用 File 是因为它允许您传递文件名。您可以跳过这部分并将 Blob 传递给 URL.createObjectURL。它打开下载窗口。假设您的服务器代码是正确的。但是如果你在 Chrome 中看到缓冲区,它就会发送一些东西。
对于服务器端,我通常使用 express res.sendFile。它需要你创建一个文件以便你清理。
【讨论】: