从Rest API响应内容 – 处置输出下载javascript中的excel文件

我想从我的angularJs代码下载一个excel文件。 我在哪里做了一个http post的Java Rest API的请求,并返回了头文件“Content-Disposition”:“attachment; filename = \”new_excel_file.xlsx \“”

Java代码

@Post @Path("/excel/trekResult") @Produces("application/vnd.ms-excel") public Response getResultsReport(@HeaderParam(Constants.ID) Long userId, @QueryParam(Constants.COMPANY_TREK_ID) Integer companyTrekId) { String CONTENT_DESPOSITION = "Content-Disposition"; String CONTENT_ATTACHEMENT = "attachment; filename=\"new_excel_file.xlsx\""; //Generates a excel file in local file system File excelFile = misHelper.writeToFile(workBook, mis, userId, "trek-results"); return Response.ok().entity((Object)excelFile). header(CONTENT_DESPOSITION, CONTENT_ATTACHEMENT).build(); 

}

在Javascript方面

 myService.exportResult($scope.companyTrek.id).then(function(result) { if(result !== undefined || result !== '') { var blob = new Blob([result], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); var objectUrl = URL.createObjectURL(blob); saveAs(blob, 'Trek-Results-'+fetchCurrentDate()+ '.xlsx'); } } 

使用FileSaver.js保存文件。

输出文件是[Object,Object]

testing本地生成的文件。

这是一个类似的参考问题,没有帮助我。

从rest服务接收一个Excel文件作为响应

我只注意到Java服务器与Angular客户端的Mimetypes不同。
此链接显示与电子表格相关的不同MIMEtypes。
试着让它们保持一致,看看是否修正了它。
也没有这样的错误。