我是vue的新手,现在正在尝试将bytearray作为.xls文件处理
现在我有一个问题,文件看起来像坏了
如果在服务器端将其保存为文件,则数据看起来很好,不会出错
服务器端:
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("Payments");
for (int i = 0; i < payments.size(); i++) {
Payment payment = payments.get(i);
Row row = sheet.createRow(i);
...(adding a lot of data)
}
try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
wb.write(bos);
wb.close();
return bos.toByteArray();
}
vue侧:
axios.post(myRequestAndData)
.then(resp => {
var fileURL = window.URL.createObjectURL(new Blob([resp.data]));
var fileLink = document.createElement('a');
fileLink.href = fileURL;
fileLink.setAttribute('download', 'file.xls');
document.body.appendChild(fileLink);
fileLink.click();
那么,如何处理bytearray数据以正确的方式创建文件呢?无论如何谢谢你
1条答案
按热度按时间rkue9o1l1#
通过添加解决
,{responseType:"blob"}
在axios.post/get
选项感谢@joshuaangnoe的帮助!