下载文件,后端返回文件流,前端下载并读取后端返回文件名content-disposition

后端接口返回content-disposition:

前端读取文件名并下载

1.axios返回请求响应全部数据

service.interceptors.response.use((response: AxiosResponse) => {const result = response.data;const { config: { responseType } } = response;if (responseType === 'blob') {return response;}

2.接口调用返回中读取解码:decodeURI(fileName)

getExport().then((res:any) => {const fileName = res.headers['content-disposition'].split(';')[1].split('filename=')[1];
// 转换编译content-disposition的文件名:decodeURIdownloadFile(decodeURI(fileName), res.data);});

3.文档流下载方法

export function downloadFile(fileName:string, content:Blob, unicode = 'application/octet-stream;charset=utf-8'):void {// const blob = new Blob([content], { type: unicode });if ('download' in document.createElement('a')) { // 非IE下载const downloadElement = document.createElement('a');let href = '';if (window.URL) {href = window.URL.createObjectURL(content);} else {href = window.webkitURL.createObjectURL(content);}downloadElement.href = href;downloadElement.download = fileName;document.body.appendChild(downloadElement);downloadElement.click();if (window.URL) {window.URL.revokeObjectURL(href);} else {window.webkitURL.revokeObjectURL(href);}document.body.removeChild(downloadElement);} 

下载文件流 文件名转码相关推荐

  1. Java下载文件时文件名出现乱码(但文件内容正常)

    今天写文件下载时,发现以前忽略的问题,写个小记录 我们一般使用中文操作系统,所以要求的 文件名编码最好是utf-8,国际化一点 但是,似乎实际上不是这样 1. String fileName=new ...

  2. js实现下载文件流图片

    1.请求响应需要设置响应类型为流 responseType: 'blob', 2.下载文件流 // res 为后台返回的文件流 const reader = new FileReader();read ...

  3. 解决各大浏览器下载文件,文件名乱码的问题

    最近做项目,采用Spring MVC做控制层,下载文件的文件名总是在主流浏览器上显示乱码,Firfox不是乱码了,IE下又成了乱码.也是烦,IE总是独树一帜,没办法,只能让程序去适应,在网上也搜索了很 ...

  4. 手机下载文件乱码php,手机端下载文件的文件名为乱码?

    最近用手机端测试数据的时候,发现用手机端下载文件的文件名是乱码,我查看了SystemNoticeManager.java的源码之后发现他们对文件名的定义的之前的写法是: String finalFil ...

  5. js下载文件流,提示文件损坏问题

    记录一下前端下载后端返回的文件流,提示文件损坏问题. const blob = new Blob([content.data], {// type是需要对应的文件类型type:"applic ...

  6. vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码

    这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 使用Vue时,我们前端如何处理后端返回的文件流 首先后端返 ...

  7. vue3下载文件流 下载excel

    //点击下载按钮qaGetDebitVoucher:async (id:any)=>{let res=await $axios.get($api.qaGetDebitVoucher+id,{ r ...

  8. 使用IE浏览器下载文件,文件名乱码问题

    实现文件下载功能时,使用IE下载出现文件名乱码不能通过以下方式判断了 if (req.getHeader("user-agent").toLowerCase().contains( ...

  9. Python 下载文件获取文件名request.get(...,stream=True)

    借鉴了Python 下载文件获取文件名_我叫农的博客-CSDN博客_python获取下载文件名代码 大文件时要令stream=True.默认情况下false,会立即下载并保存在内存中. 默认情况下是f ...

最新文章

  1. 长期使用中型Access数据库的一点经验
  2. NAT的完全分析及其UDP穿透的完全解决方案
  3. c语言 坐标系转换 axistoradius,dynamo编程语言翻译.pdf
  4. python3 自动化交互模块 pexpect 简介
  5. 如何在SharePoint Server中整合其他应用系统?
  6. android判断模拟器的三种方法
  7. 高级SmartGWT教程,第2部分
  8. 辅助的写与数据库交互的XML文件的类
  9. 浏览器中的JavaScript
  10. @font-face的用法,css3使用web字体教程
  11. 20155229 2016-2007-2 《Java程序设计》第一周学习总结
  12. 动软代码生成器生成数据库文档 (转载)
  13. 访问共享打印机报错:0x00000bcb
  14. okhttp返回内容乱码_tomcat服务器接口返回的数据乱码
  15. jdk没有jre的解决方法
  16. HDMI调试基本原理
  17. 笔记本锁定计算机功能键,笔记本键盘锁定键在哪_笔记本电脑的“键盘锁”是哪一个键-win7之家...
  18. 七夕 - 程序员表白代码
  19. NS3学习记录(四)--加入新模型及聚合Aggregate
  20. 微信小程序前端备忘录记事本搜索功能

热门文章

  1. 示波器的使用及其工作原理和multisim仿真软件的使用
  2. 支持频繁更新、即席查询,ClickHouse在爱奇艺视频生产是上怎么用的?
  3. iOS自动化测试辅助工具--Reveal配置及使用
  4. 童流感诊治最新共识,专家全面解读
  5. java web程序示例_示例Web应用程序提示列表
  6. 面试笔试--TCP/IP知识点
  7. ceph存储三种类型
  8. matlab如何做向量内积,matlab2010a的bug:* 向量内积的错误解决方案
  9. python简单单元测试示范卷_Python单元测试简单示例
  10. android 黑屏手势动画,Android MIUI 即刻APP 返回手势及动画 探索