java 文件下载名称包含特殊字符处理

这篇博客记录了在Java中处理文件下载时,如何处理文件名包含特殊字符导致下载失败的问题。针对IE、谷歌和火狐浏览器,分别采用不同的编码和替换策略来修正文件名。
摘要由CSDN通过智能技术生成

经过我测试除了文件名称包含英文逗号谷歌会下载失败外,其它的都没问题了。这个找到解决方法了再补上,先记录一下

String userAgent = request.getHeader("user-agent").toLowerCase();
        if (userAgent.contains("msie")) {// IE
            try {
                fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("%20", "\\+").replaceAll("%28", "\\(")
                        .replaceAll("%29", "\\)").replaceAll("%3B", ";").replaceAll("%40", "@").replaceAll("%23", "\\#")
                        .replaceAll("%26", "\\&").replaceAll("%2C", "\\,").replaceAll("%24", "\\$")
                        .replaceAll("%25", "\\%").replaceAll("%5E", "\\^").replaceAll("%3D", "\\=")
                        .replaceAll("%2B", "\\+&#

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值