JAVA URL copyURLToFile下载文件中文名处理

做了一个从URL下载文件的功能 刚开始用没问题 后来发现中文名有问题

原先代码:

String url="http://xxxxcom/userfiles/file/20181010//5596d00cfa759abf48a88dde17b9d07d/文档中心数据建模.mwb"
URL httpUrl = new URL(url);
 String fileName= httpUrl.getFile();
  FileUtils.copyURLToFile(httpUrl, new File(savePath + fileName));

//上面的中文名是不行 当然这里如果前端传过来的可以encodeURI编码一下
//后台我们编码这样整个的文件 new String(str,“utf-8”) 类似几种方式都会把整个的url编码掉其中 ://等也会处理
修改后

 URL httpUrl = new URL(UriUtils.encodePath(url, "UTF-8"));
  String fileName= httpUrl.getFile();
  FileUtils.copyURLToFile(httpUrl, new File(savePath + fileName));

UriUtils.encodePath(url, “UTF-8”))
//这里引用的spring包下的工具类只会对我们的文档中心数据建模进行编码处理所以变成这样样子

http://xxxxcom/userfiles/file/20181010//5596d00cfa759abf48a88dde17b9d07d/%E6%96%87%E6%A1%A3%E4%B8%AD%E5%BF%83%E6%95%B0%E6%8D%AE%E5%BB%BA%E6%A8%A1.mwb%20

不是什么毛病 自己处理可能要根据规则处理一下 这里直接有现成的用起来比较方便 有遇到的可以这样用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值