java URLEncoder 编码与解码

最近在开发中,遇到附件下载功能前端传递的url地址 浏览器自动将特殊字符 隐藏 替换成空格,导致 后台找不到 文件;现将解析方法 总结:

前端 使用   js  

 window.self.location="list.jsp?searchtext="+encodeURIComponent(seartext);

后台可以用

        解密

 searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");

经测试发现,前端使用 encodeURIComponent 加密时,后台不用 再次解密,因为 java 已经 将 前端 encodeURIComponent 加密的值  自动解密了;

没加密之前后台接收的参数:

 C:\workspace\oaAllNew\oaWatermark\uploadFile\water\2022\1008\20221008161512009\致远 A8 协同管理软件 V71SP1 用户操作手册(企业版) .pdf

加密后之后 后台接收参数:

 C:\workspace\oaAllNew\oaWatermark\uploadFile\water\2022\1008\20221008160721982\致远 A8+ 协同管理软件 V71SP1 用户操作手册(企业版) .pdf

        加密

                String fileName=URLEncoder.encode(name,"utf-8");

1、建议 做文件上传下载时,最好 上传时 把文件名进行加密,然后前端获取文件名进行解密;前端传递 参数时,最好 将 文件件 加密后传递,因为浏览器会自动过滤特殊符号。

2、如果不加密,可以 让后台 使用UUID生成一个新的文件名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值