我正在使用spring boot,spring mvc开发一个Web应用程序。
我有一个contoller方法,它返回一个excel文件,如下所示:
in = new FileInputStream(comparsionreport);
out = response.getOutputStream();
response.setHeader("Content-disposition", "attachment; filename=" + comparsionreport.getName());
response.setContentType("application/vnd.ms-excel");
response.addHeader("filename", comparsionreport.getName());
byte[] buffer = new byte[BUFFER_SIZE]; // use bigger if you want
int length = 0;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
在视图(jaavscript)中,AJAX调用如下所示:
$.ajax({
url : $('#compareFrm').attr('action'),
type : 'post',
responseType: "arraybuffer",
data : $('#compareFrm').serialize(),
success : function(data, status, xhr) {
// download response file
var jsonData = JSON.stringify(data);
var blob = new Blob(
[ jsonData ],
{
type: "application/vnd.ms-excel"
});
saveAs(blob, xhr.getResponseHeader('filename'));
},
error : function(data) {
}
});
下载了具有良好名称的excel文件,但是当打开它时,它表示文件无法打开,因为错误的扩展名或格式(损坏的文件等等)
有人有个主意吗?这对我来说是一个阻碍问题:(
由于