这是我的代码片段:
for (Header header : headers) {
if (StringUtils.containsIgnoreCase(header.getName(), "Content-Disposition")) {
String headerValue = header.getValue();
ContentDisposition cd = getContentDisposition(headerValue);
String filename = cd.getParameter("filename*");
}
}
现在我所拥有的文件名是myFileName%EB%38%AA.txt
我可以用
获得全名 filename= java.net.URLDecoder.decode(cd.getParameter("filename*"), "UTF-8")
实际结果是
filename = UTF-8''myFileNameイイケ.txt
名称很好,但UTF-8''
的首字母对我不利。
有没有办法从ContentDisposition获取编码?还是从标题?
或在创建过程中从文件名中删除编码的更好方法? 我想支持所有编码而没有明确提及它。