我已经用谷歌搜索了足够多,但我找不到解决问题的正确解决方案。
我正在使用javamail下载电子邮件的所有附件,现在我确实有附件,但我想将它们全部存储在目录中。所以我的代码确实创建了一个目录(使用 file.mkdir()),但我无法将这些附件移动到我的文件夹(附件)中。这是我到目前为止使用的:
MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(i);
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {
part.saveFile("/Attachments/" + part.getFileName());
}
有没有办法将零件保存到文件夹中?
打开 FileOutputStream 并将字节写出。
您没有确切地说出尝试保存附件时会发生什么。 你有例外吗? 附件是否存储在错误的文件中? 我相信你明白你写的东西试图把它保存在文件系统根目录的/Attachments目录中。
另请注意,部件附带的文件名可能完全是垃圾。 考虑如果部分中的文件名是"../etc/passwd"。
我得到了我尝试保存的文件位置的绝对路径,然后使用 apache 中的 FileUtils 将文件移动到目录,然后将目录移动到另一个目录。