[java基础]问个关于org.apache.commons.mail附件的问题

org.apache.commons.mail中提供了一个类EmailAttachment来完成发送附件的任务,但是都是依赖于具体路径,比如本地和网络地址。

如果我的附件是存在数据库的话,是不是只能取得附件以后写入本地,再读入EmailAttachment再销毁?感觉这样做很白痴呵呵。

各位大侠有没有好的解决方案?

你需要自行看看它的源代码,主要是那个类调用了EmailAttachment,哪个类读取文件的。然后你自己修改它(继承或聚合),使它可以从数据库中得到的Stream中读取文件。

如果你不想改代码,直接调用common的mail,应该做不到;

我觉得可以把文件方知道临时目录; 然后发送邮件; 然后删除;

倒是可行;

另外方法,只有是修改代码了.