【发布时间】:2017-11-10 16:21:18
【问题描述】:
我有一个 JSON 对象数组,它是 nodejs 中函数的结果。我使用 json2xls 将其转换为 excel 文件,然后下载到服务器(不在公共文件夹中,并且在 Excel 中格式正确)。
我想向前端发送带有 json 结果的响应(以显示为预览)并显示一个按钮,他们可以单击以下载 xlsx 文件或显示 JSON 结果并自动下载文件。
但我无法得到它,而且我已经尝试了很多东西,我快要发疯了。 我的控制器代码(创建 xls 文件的部分):
var xls = json2xls(results,{});
var today = (new Date()).toDateString('yyyy-mm-dd');
var str = today.replace(/\s/g, '');
var fileName = "RumbleExport_"+ str +".xlsx";
var file = fs.writeFileSync(fileName,xls,'binary');
res.download('/home/ubuntu/workspace/'+file);
前端控制器:
vm.exportData = function(day, event, division) {
console.log('Export registrations button pressed.', vm.export);
//send the search parameters to the backend to run checks
$http.post('/api/exportData', vm.export).then(function(response){
vm.results = response.data;
console.log("Results",response);
vm.exportMessage = "Found " + vm.results.length + " registrations.";
})
.catch(function(error){
vm.exportError = error.data;
});
};
观点:
//display a button to download the export file
<a target="_self" file="{{vm.results}}" download="{{vm.results}}">Download Export File</a>
请有人让我摆脱痛苦。我上过的所有课程都没有涵盖这个。
【问题讨论】:
标签: angularjs node.js download