后端接口/**/export定义 content-type: application/octet-stream

前端:

  1. headers 中需要加 headers['Content-Type'] = 'application/octet-stream';

  1. 前端在请求时必须要加上responseType, 否则 在下载下来的文件打开无法被解析

config.responseType = 'blob';

1,2在axios 请求时加上可正常解析

前端处理逻辑封装

export async function downloadFileMessage(response, data, fileName) {// 如果响应体Body已经被使用过,那么clone()会抛出一个TypeError。实际上,clone() 的主要作用就是支持Body对象的多次使用const blob = data?.blob ? await data.clone().blob() : new Blob([data]);const a = document.createElement('a');const downloadUrl = window.URL.createObjectURL(blob);const contentDisposition = response.headers ? response.headers['content-disposition'] : `filename=${fileName}`;if (contentDisposition) {const name = contentDisposition.split('filename=')[1].replace(/"/g, '');a.href = downloadUrl;a.download = name || fileName;document.body.appendChild(a);a.click();document.body.removeChild(a);window.URL.revokeObjectURL(downloadUrl);return;}// 只能消费Response.json()一次,如果你消费不止一次,就会发生错误。TypeError: Failed to execute 'json' on 'Response': body stream already readconst jsonData = await data.clone().json();if (jsonData && (jsonData?.status === '500' || jsonData?.status === 500)) {message.error(jsonData?.message || '下载失败');}
}

前端下载xlsx文件相关推荐

  1. 前端下载静态文件及动态文件

    前端下载静态文件及动态文件 静态文件 动态文件 前端 后端 静态文件 <a href="doc/use_document.pdf" download="使用文档.p ...

  2. 使用 xlsx 下载 xlsx 文件

    使用 xlsx 下载 xlsx 文件: import { writeFileXLSX, utils } from 'xlsx';export const downloadSheet = (dataSo ...

  3. 前端下载流文件xlsx表格方法

    以下为为使用axios下载.xlsx表格示例代码,下载其他格式文件自行修改mime类型与文件后缀即可 export function downloadFn(url, params, filename) ...

  4. 前端下载excel文件功能的三种方法

    1 从后端接收json数据,前端处理生成excel下载 JsonExportExcel的github地址:https://github.com/cuikangjie/JsonExportExcel 这 ...

  5. java下载xlsx文件_Java后台Controller实现文件下载操作

    代码 参数: 1.filePath:文件的绝对路径(d:\download\a.xlsx) 2.fileName(a.xlsx) 3.编码格式(GBK) 4.response.request不介绍了, ...

  6. java下载xlsx文件_【小坑】java下载excel文件

    excel文件的导入导出是很常见的功能,这次做了个下载的功能,踩了一些坑,记下来避免以后重复踩-- 1.inputstream序列化问题 Could not write JSON document: ...

  7. html访问xlsx文件,【html】xlsx文件实现预览,浏览器实现xlsx文件的预览,前端实现xlsx文件的预览...

    ===================================================== 实现xlsx文件预览的快速的解决方案,使用微软提供的接口地址,直接拼接自己文件的url即可 ...

  8. vue前端下载excel文件

    // html <el-button type="primary" plain @click="frontDownload">本地下载</el ...

  9. vue3+vite完成前端下载excel文件/模板并规定单元格大小(纯前端)

    首先当然就是下载相关的npm包了 npm install --save file-save xlsx npm install --save script-loader 然后我是在utils下面创建了一 ...

最新文章

  1. CodeGen标记循环
  2. 13、JsonResponse响应介绍
  3. 提取so文件的特征值
  4. SQL注入之二次注入(sql-lab第24关)
  5. econtrol窗体设计器
  6. 利用Python随机或暴力生成密码
  7. / ./ ../ 的区别
  8. [剑指offer][JAVA]面试题第[06]题[从尾到头打印链表][栈][递归]
  9. 如何理性客观地看待人工智能热潮
  10. 渗透测试入门6之权限提升
  11. Oracle 中调用外部C动态库函数
  12. PAT 1086 就不告诉你
  13. 论文阅读笔记(十五)——黑猩猩在野外的脸:用于预测灵长类身份和属性的对数欧几里得CNN
  14. error: ignoring return value of 编译错误处理
  15. paip.陕北方言 广东方言的不同单字 1千高频字
  16. paypal无法提现?最新解决办法(实战教程)!
  17. shell间接变量引用两种方式
  18. 《VoIP技术构架(第2版·修订版)》一1.4 语音与数据网合二为一的驱动力
  19. lambda表达式与正则表达式
  20. python进程通信方式总结(一):管道与信号量

热门文章

  1. 电脑报2013年第5期
  2. 如何管理机器学习模型
  3. matlab怎么导入数据格式,matlab导入excel表格数据代码,如何将excel中数据导入到matlab中...
  4. 有限元计算 求解笔记(中)
  5. 你了解淘宝大秒杀系统设计详解吗?
  6. 送给单身猿们的表白神器
  7. c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数
  8. 树莓派升级HP LaserJet M1005为网络打印机
  9. Leetcode典型题解答和分析、归纳和汇总——T155(最小栈)
  10. 用友t3服务器系统管理显示类型不匹配,登录账套提示:“类型不匹配”