欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > ios的safari下载文件 文件名乱码

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

2024/12/22 0:07:22 来源:https://blog.csdn.net/weixin_43515759/article/details/144539779  浏览:    关键词:ios的safari下载文件 文件名乱码

当使用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);})

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com