gpt4 book ai didi

java - 文件名上的 URL 编码/解码用 + 替换空格,需要替代。

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:10 24 4
gpt4 key购买 nike

我的产品是一个网络应用程序。
我有稍后上传到服务器或从服务器下载的文件。
我在上传带有 unicode 字符的文件时使用 java.net.URLDecoder.decode(),在下载文件时使用 java.net.URLDecoder.encode() 以保存文件名并最终按预期将其返回给客户端,没有问号和其他内容 (?????)。

问题是,如果文件名包含空格,那么编码/解码会将它们替换为 + 字符,这是完全正常的,因为这是他们的业务实现,但很明显,您可以理解它不符合我的目的.
问题是我有什么选择可以克服这种情况?
那个或第 3 方包有内置方法吗?

最佳答案

您还可以将空格转换为 %20。

参见:URL encoding the space character: + or %20?

还有其他各种 Java 库可以进行 URL 编码,%20。这里有两个例子:

Guava :

UrlEscapers.urlPathSegmentEscaper().escape(urlToEscape);

Spring 框架:

UriUtils.encodePath(urlToEscape, Charsets.UTF_8.toString());

关于java - 文件名上的 URL 编码/解码用 + 替换空格,需要替代。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com