我正在嘗試使用NodeJS/express 4創建一個端點,並生成併發送給用戶一個xlsx文件。NodeJS/Express4端點生成損壞的xlsx文件
要創建xlsx文件我正在使用node-xlsx
庫。
var xlsx = require('node-xlsx');
var buffer = xlsx.build([{
name: pasta,
data: data
}]);
res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
res.setHeader("Content-Disposition", "attachment; filename=" + pasta + ".xlsx");
res.write(buffer, 'binary');
return res.end();
而我試圖通過一個Angular應用下載這個文件。
$http.post('https://endpoint/v1/' + folderName + '/reportExcel', {
responseType: 'arraybuffer'
})
.success(function(response) {
var blob = new Blob([response], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
});
var objectUrl = URL.createObjectURL(blob);
$window.open(objectUrl);
但是,正在下載的文件已損壞,所以無法打開它。
你有沒有想過這個?我有一個類似的問題... –
@MikeFielden看到我的回答下面 –