关于文件名在各个浏览器下载文件名称乱码的通用解决方案

本文探讨了不同浏览器(如IE、Chrome、Edge、Firefox等)在下载文件时可能出现的文件名乱码问题,并提出了依据RFC标准的解决方案。通过设置contentDisposition头,包括`filename=xxx`和`filename*=utf-8''xxx`,可以有效解决普通下载附件时的乱码。然而,对于流式插件的文档直接打开,由于各插件厂商对标准支持的差异,可能会导致打开失败。文章提供了一段相关代码来帮助处理这个问题。
摘要由CSDN通过智能技术生成
  • 各个浏览器的agent

    IE: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

    CHROME: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36

    EDGE: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363

    FIREFOX: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0

    UBUNTU: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0

    长城: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Firefox/52.0

    龙芯中标麒麟: Mozilla/5.0 (X11; Fedora; Linux mips64; rv:52.0) Gecko/20100101 Firefox/52.0

  • 根据RFC标准建议的处理方式:contentDisposition:;filename=xxx;filename*=utf-8’'xxx
    如果只是普通的下载附件,该方式已经可以完美解决各个浏览器的附件名乱码。但在流式插件下使用打开原成文档会出现打开失败的问题,这是由于各个插件厂商对该标准的支持各不相同!!

  • 附上代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值