下载文件流 文件名转码
下载文件,后端返回文件流,前端下载并读取后端返回文件名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);}
下载文件流 文件名转码相关推荐
- Java下载文件时文件名出现乱码(但文件内容正常)
今天写文件下载时,发现以前忽略的问题,写个小记录 我们一般使用中文操作系统,所以要求的 文件名编码最好是utf-8,国际化一点 但是,似乎实际上不是这样 1. String fileName=new ...
- js实现下载文件流图片
1.请求响应需要设置响应类型为流 responseType: 'blob', 2.下载文件流 // res 为后台返回的文件流 const reader = new FileReader();read ...
- 解决各大浏览器下载文件,文件名乱码的问题
最近做项目,采用Spring MVC做控制层,下载文件的文件名总是在主流浏览器上显示乱码,Firfox不是乱码了,IE下又成了乱码.也是烦,IE总是独树一帜,没办法,只能让程序去适应,在网上也搜索了很 ...
- 手机下载文件乱码php,手机端下载文件的文件名为乱码?
最近用手机端测试数据的时候,发现用手机端下载文件的文件名是乱码,我查看了SystemNoticeManager.java的源码之后发现他们对文件名的定义的之前的写法是: String finalFil ...
- js下载文件流,提示文件损坏问题
记录一下前端下载后端返回的文件流,提示文件损坏问题. const blob = new Blob([content.data], {// type是需要对应的文件类型type:"applic ...
- vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码
这篇文章主要为大家详细介绍了vue实现下载文件流完整前后端代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 使用Vue时,我们前端如何处理后端返回的文件流 首先后端返 ...
- vue3下载文件流 下载excel
//点击下载按钮qaGetDebitVoucher:async (id:any)=>{let res=await $axios.get($api.qaGetDebitVoucher+id,{ r ...
- 使用IE浏览器下载文件,文件名乱码问题
实现文件下载功能时,使用IE下载出现文件名乱码不能通过以下方式判断了 if (req.getHeader("user-agent").toLowerCase().contains( ...
- Python 下载文件获取文件名request.get(...,stream=True)
借鉴了Python 下载文件获取文件名_我叫农的博客-CSDN博客_python获取下载文件名代码 大文件时要令stream=True.默认情况下false,会立即下载并保存在内存中. 默认情况下是f ...
最新文章
- 长期使用中型Access数据库的一点经验
- NAT的完全分析及其UDP穿透的完全解决方案
- c语言 坐标系转换 axistoradius,dynamo编程语言翻译.pdf
- python3 自动化交互模块 pexpect 简介
- 如何在SharePoint Server中整合其他应用系统?
- android判断模拟器的三种方法
- 高级SmartGWT教程,第2部分
- 辅助的写与数据库交互的XML文件的类
- 浏览器中的JavaScript
- @font-face的用法,css3使用web字体教程
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
- 动软代码生成器生成数据库文档 (转载)
- 访问共享打印机报错:0x00000bcb
- okhttp返回内容乱码_tomcat服务器接口返回的数据乱码
- jdk没有jre的解决方法
- HDMI调试基本原理
- 笔记本锁定计算机功能键,笔记本键盘锁定键在哪_笔记本电脑的“键盘锁”是哪一个键-win7之家...
- 七夕 - 程序员表白代码
- NS3学习记录(四)--加入新模型及聚合Aggregate
- 微信小程序前端备忘录记事本搜索功能
热门文章
- 示波器的使用及其工作原理和multisim仿真软件的使用
- 支持频繁更新、即席查询,ClickHouse在爱奇艺视频生产是上怎么用的?
- iOS自动化测试辅助工具--Reveal配置及使用
- 童流感诊治最新共识,专家全面解读
- java web程序示例_示例Web应用程序提示列表
- 面试笔试--TCP/IP知识点
- ceph存储三种类型
- matlab如何做向量内积,matlab2010a的bug:* 向量内积的错误解决方案
- python简单单元测试示范卷_Python单元测试简单示例
- android 黑屏手势动画,Android MIUI 即刻APP 返回手势及动画 探索