【发布时间】:2016-11-13 20:57:23
【问题描述】:
我正在尝试像此示例https://github.com/alferov/angular-file-saver 那样实现 FileSaver.js 以通过 Spring Boot 应用程序下载生成的文件,我有将文件作为字节数组数据返回的休息服务。
@RequestMapping(value = "/generateReport/{reportId}/{parameters}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public byte[] generateReport(@PathVariable("reportId") String reportId,
@PathVariable("parameters") String parameters
) {
byte[] bFile;
//some code
return bFile;
}
角度服务
'generateReport': {
method: 'GET',
responseType: 'arraybuffer' ,
url: 'adap_report/api/generateReport/:reportId/:parameters',
transformResponse: function (data) {
if (data) {
data = angular.fromJson(data);
}
return data;
}
},
Angularjs 控制器
vm.generateReport = function() {
Report.generateReport({reportId:entity.id,parameters:angular.toJson(vm.parameterList)}, function(result) {
var data = new Blob([result], { type: 'application/octet-stream' });
FileSaver.saveAs(data, 'text.txt');
});
};
文件保护程序有效,文件已下载,但内容错误,我只是获取包含此内容的文件
[object Object]
谁能帮我用 angular FileSaver.js 库保存生成的文件?
【问题讨论】:
标签: javascript angularjs spring filesaver.js