当前位置: 代码迷 >> 综合 >> IVIEW+VUE文件流下载EXCEL问题
  详细解决方案

IVIEW+VUE文件流下载EXCEL问题

热度:67   发布时间:2023-12-04 11:10:10.0

用Axios调用导出方法返回的文件流下载时控制台返回乱码
在这里插入图片描述
在这里插入图片描述
vue需要用 new Blob([data])来处理
后台接口

 @PostMapping(value = "exportKeHuFormat")@ApiOperation(value = "导出-客户信息导入模板", notes = "")public void exportKeHuFormat(HttpServletRequest request, HttpServletResponse response){
    try {
    api.exportKeHuFormat(request,response);} catch (Exception e) {
    e.printStackTrace();}}

前台方法

axios.post(local+'kehu/exportKeHuFormat',{
    },{
    headers:{
    'Authorization': sessionStorage.getItem('token')},responseType: 'blob',}).then(res => {
    let blob1 = new Blob([res.data]);//new Blob([res])中不加data就会返回[objece objece]内容(少取一层)let fileName = '客户信息.xlsx';//下载文件名称let elink = document.createElement('a');elink.download = fileName;elink.style.display = 'none';elink.href = URL.createObjectURL(blob1);//创建一个DOMString包含了一个对象URL,该URL可用于指定源 参数对象的内容。document.body.appendChild(elink);elink.click();URL.revokeObjectURL(elink.href); // 释放URL 对象document.body.removeChild(elink);}).catch(err => {
    })
  相关解决方案