将零件保存到目录中



我已经用谷歌搜索了足够多,但我找不到解决问题的正确解决方案。

正在使用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 将文件移动到目录,然后将目录移动到另一个目录。

最新更新