0


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生成一个新的文件名。

标签: java servlet 前端

本文转载自: https://blog.csdn.net/zw899004/article/details/127220370
版权归原作者 @幻影忍者 所有, 如有侵权,请联系我们删除。

“java URLEncoder 编码与解码”的评论:

还没有评论