问题描述
我是 Vue 新手,现在尝试将字节数组作为 .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 数据以正确的方式创建文件? 还是谢谢
解决方法
通过加入解决,{responseType:"blob"}
的{{1}}选项
感谢@JoshuaAngnoe的帮助!