【发布时间】:2013-05-19 14:34:26
【问题描述】:
我不确定我是否完全理解 URI 对象才能正确执行此操作。我希望能够将字符串转换为 url 编码的字符串。例如,我有一个 servlet 作为文件处理程序,我需要在标题中指定文件名 -
response.setHeader("Content-disposition", "attachment;filename=" + new URI(filename).toUrl());
正如预期的那样,我收到了 URISyntaxException,因为我正在编码的字符串不是正确的 URI 格式。
如何编码 字符串 而不是 URL?
我无法使用已弃用的 URLEncoder 获得我想要的结果,因为它将“”替换为“+”而不是“%20”。
提前致谢!
【问题讨论】:
-
你的文件名是什么样的?
-
这是它遇到问题的空间。假设我上传了一个名为“hello world.txt”的文件,当我下载回来时,我会得到“hello+world.txt”。在这一点上我很挑剔,但这让我很恼火!
标签: java url-encoding