在Mac OS环境下通过jSP上传文件时出现无法上传的错误[已关闭]

dy2hfwbg  于 2023-06-27  发布在  Mac
关注(0)|答案(1)|浏览(115)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

昨天关门了。
Improve this question
在jsp中,关于从Windows环境上传的文件

Multipartrequest multi = new MultipartRequest(request,upload_dir, maxsize,"UTF-8","");

我收到文件时,我很好,但我不能保存到服务器,如果我上传的文件与MAC。我查了也不知道为什么会这样。
有人能帮帮我吗
我发现MacBook的编码方式是NFD,但我不知道将此更改为NFC是否会解决它。我一直在寻找这个和那个,但我还没有找到一个明确的解决方案。

oalqel3c

oalqel3c1#

对一个和我有同样担忧的人...

<%@ page import="java.nio.charset.StandardCharsets"%>
<%@ page import="java.text.Normalizer"%>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>

MultipartRequest multi = new MultipartRequest(request, upload_dir, maxsize, "UTF-8", "");

String originalFilename = multi.getFilesystemName("file"); 
String normalizedFilename = Normalizer.normalize(originalFilename, Normalizer.Form.NFC);

File oldFile = new File(upload_dir + File.separator + originalFilename);
File newFile = new File(upload_dir + File.separator + normalizedFilename);
if (!oldFile.renameTo(newFile)) {
    throw new IOException("Failed to rename uploaded file");
}
I solved through above code.

相关问题