vue中的java句柄字节数组

vxf3dgd4  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(632)

我是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数据以正确的方式创建文件呢?无论如何谢谢你

rkue9o1l

rkue9o1l1#

通过添加解决 ,{responseType:"blob"}axios.post/get 选项
感谢@joshuaangnoe的帮助!

相关问题