2017-09-26 63 views

回答

1

在客户端可以使用:

$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){ 
}); 

我使用的文件,因为它允许你通过文件名。你可以跳过这部分并将Blob传递给URL.createObjectURL。它随着下载打开窗口。假设你的服务器代码是正确的。但是如果你在Chrome中看到缓冲区而不是它发送的东西。

对于服务器端我通常使用快递res.sendFile。它需要你创建一个文件,以便你清理。

+0

如何从AngularJS客户端下载的NodeJS XLSX的文件流?任何想法? –

+0

我用$ http调用了编辑答案。 – barnski