ios的safari下载文件 文件名乱码

ops/2024/12/22 11:47:09/

当使用nginx代理文件并下载文件时,返回的协议头Content-Dispositionfilename=%E9%9B%AA%E5%B1%B1.jpg中文内容会是URL编码的形式,当客户端在safari浏览器下载下载文件时,文件名不会转换(URL解码)为正常的中文。

应该使用js进行下载,即可解决问题。

       axios({method: 'get',url: 'http://xxxxxxxx.com/files/年终总结模板.docx',responseType: 'blob'}).then((response) => {const contentDisposition = response.headers['content-disposition'];let fileName = ''; // 如果没获取到文件名,设置默认文件名if (contentDisposition) {const matches = contentDisposition.match(/filename="?([^"]+)"?/);if (matches && matches.length > 1) {fileName = matches[1];}}const blob = new Blob([response.data], { type: response.headers['content-type'] });const link = document.createElement('a');link.href = URL.createObjectURL(blob);link.download = decodeURIComponent(fileName);document.body.appendChild(link);link.click();document.body.removeChild(link);URL.recycleObjectURL(link.href);})

http://www.ppmy.cn/ops/144010.html

相关文章

wepack的各个版本差异?

‌Webpack的版本问题主要体现在不同版本之间的配置差异和兼容性问题。‌ 不同版本之间的配置差异 ‌Webpack 3.x与4.x的区别‌:在Webpack 3.0之后,配置entry和output路径不再支持相对路径,只能使用__dirname拼接成的绝对路径‌。‌Webpack …

UE5 Lyra项目源码分析-角色配置说明

在上一篇里,我们研究了关卡的配置如何在GameMode实现加载的,并稍微理解了Lyra是如何实现的模块化,由于模块化太彻底,所以理解起来有些难,在这一篇里,我们看一下配置里面比较想了解的一块。就是角色是如何配…

ArrayList与LinkedList、Vector的区别

一、ArrayList 和 LinkedList区别: (1)两者都是线程不安全,都实现了Collection接口。 (2)数据结构:ArrayList是基于动态数组的数据结构,LinkedList是基于双向链表的数据结构。 &am…

一款轻量级的开源笔记服务软件

大家好,我是兔兔,一位写作爱好者,今天分享的内容是,如何搭建一个开源的、隐私优先的轻量级笔记服务应用。 不知道大家是否有这样的需求: 1、自己想搭建一个个人的学习笔记文档,既要自己看也可以单独分享给…

介绍 Html 和 Html 5 的关系与区别

HTML(HyperText Markup Language)是构建网页的标准标记语言,而 HTML5 是 HTML 的最新版本,包含了一些新的功能、元素、API 和属性。HTML5 相对于早期版本的 HTML(比如 HTML4)有许多重要的改进和变化。以下是…

Linux下部署MySQL8.0集群 - 主从复制(一主两从)

目录 一、部署前准备 1、查看系统信息 # 查看系统版本 cat /etc/red* # 查看系统位数 getconf LONG_BIT[rootlocalhost ~]# cat /etc/red* CentOS Linux release 7.5.1804 (Core) [rootlocalhost ~]# getconf LONG_BIT 642、下载对应安装包 进入MySQL官网:https:…

【Python】【数据分析】深入探索 Python 数据可视化:Plotly 绘图库全面解析

这里写目录标题 引言一、Plotly 概述二、安装 Plotly三、Plotly 的结构与功能模块3.1 Plotly Graph Objects3.2 Plotly Express3.3 Plotly Subplots 四、Plotly 图表类型五、Plotly 图表自定义与美化5.1 自定义图表标题和坐标轴5.2 自定义颜色和样式5.3 添加注释和文本5.4 图表…

MySQL专题:日志及MVCC

MySQL是一种广泛应用的关系型数据库管理系统,以其高性能和灵活性著称。在保证数据安全性和一致性方面,MySQL通过日志和多版本并发控制(MVCC)提供了强有力的支持。本文将深入解析日志和MVCC的原理及其在实际应用中的作用。 日志&a…