社区
Web 开发
帖子详情
用struts的FormFile上传文件发邮件附件的问题,急!
trls
2006-08-03 10:32:29
请问
我在页面中浏览一个文件,想把这个文件当成邮件的附件发送出去,上传就用的struts带的FormFile得到了我选的文件对象,但是邮件发送附件里不知道要怎么加进来,请高手指点一二
谢谢
...全文
258
8
打赏
收藏
用struts的FormFile上传文件发邮件附件的问题,急!
请问 我在页面中浏览一个文件,想把这个文件当成邮件的附件发送出去,上传就用的struts带的FormFile得到了我选的文件对象,但是邮件发送附件里不知道要怎么加进来,请高手指点一二 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
trls
2006-08-03
打赏
举报
回复
解决:) 用的ByteArrayDataSource 很感谢啊
cuij7718
2006-08-03
打赏
举报
回复
可以那个FileDataSource改为ByteArrayDataSource就行了
下面的地址里面还演示了发送html格式和text格式的邮件的区别
http://www.blogjava.net/sunfruit/archive/2006/02/19/31523.html
trls
2006-08-03
打赏
举报
回复
但是要构造FileDataSource对象,是不是就是要在服务器上先存在我要发送的文件?就是说要先上传文件到服务器端?但是我们的服务器是不让写文件的,所以我是想把附件文件读成个流,那么FileDataSource能通过文件流来构造吗?
boydream
2006-08-03
打赏
举报
回复
我来学习,友情帮顶!
rickhunterchen
2006-08-03
打赏
举报
回复
我想lz应该明白了,上传时不需要用FormFile得到对象,而是用FileDataSource得到对象。
rickhunterchen
2006-08-03
打赏
举报
回复
操作附件
附件是与邮件消息关联的资源,通常保存在消息之外,如:一个文本文件,电子表格或图片。对于像Eudora和Pine之类的常用邮件程序,您可以通过JavaMail API把资源附加到邮件消息上,并在您接收消息时获取附件。
发送附件
发 送附件与转发消息非常相似,您要创建组成完整消息的各个部分。在创建好第一个部分即消息文本之后,您添加的用DataHandler类处理的其他部分就是您的附件,而不是转发消息中的共享处理程序。当您从一个文件读取附件时,附件的数据资源是FileDataSource;从URL读取时,则是 URLDataSource。一旦您有了自己的DataSource,在将其通过setDataHandler()方法最终附加到BodyPart上之 前,只需将其传递给DataHandler类的构造器即可。假定您想保留附件的原始文件名,要做的最后一件事就是用BodyPart类的 setFileName()方法设置与附件关联的文件名。所有这些操作如下所示:
// Define message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject("Hello JavaMail Attachment");
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText("Pardon Ideas");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
// Put parts in message
message.setContent(multipart);
// Send the message
Transport.send(message);
在消息中包含附件时,如果您的程序是一个servlet,您的用户就必须上传附件,并告诉您要把消息发送到什么位置。上传的每一个文件都可以用一个表单来处理,该表单是以multipart/表单数据(form-data)来编码的。
<FORM ENCTYPE="multipart/form-data"
method=post action="/myservlet">
<INPUT TYPE="file" NAME="thefile">
<INPUT TYPE="submit" VALUE="Upload">
</FORM>
注意:消息的大小要受到您的SMTP服务器的限制,而不是由JavaMail API限制的。如果出现了问题,可以通过设置ms和mx参数来考虑增加Java堆区的空间尺寸。
cuij7718
2006-08-03
打赏
举报
回复
要是javamail的话有一个例子
http://www.blogjava.net/sunfruit/archive/2006/02/19/31523.html
cuij7718
2006-08-03
打赏
举报
回复
FormFile没有用过,只用过 javamail
在
Struts
2中实现文件上传
在
Struts
2中实现文件上传<!-- google_ad_client = "pub-8438768637354676"; google_ad_width = 336; google_ad_height = 280; google_ad_
form
at = "336x280_as"; goog
第1章文件上传组件的应用与编写
在许多Web站点应用中都需要为用户提供通过浏览器上传文档资料的功能,例如,上传
邮件附件
、个人相片、共享资料等。对文件上传功能,在浏览器端提供了较好的支持,只要将
FORM
表单的enctype属性设置为“multipart/
form
...
Spring 邮件
发
送 (异步 + 同步)
感谢 :http://r164.blog.163.com/blog/static/19749695201043084930451/<br />之前在项目中做个
发
送邮件的,由于附件很大的时候,
发
送的很慢,但用过该异步的
发
送后,
发
现 用户体验确实不错了。...
java
上传文件
工具类
这个是之前整理之前所学时与使用java向邮箱
发
送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.
File
; import java.io.
File
OutputStream; import java.io....
利用Spring框架封装的JavaMail实现同步或异步邮件
发
送
J2EE简单地讲是在JDK上扩展了各类应用的标准规范,邮件处理便是其中一个重要的应用。它既然是规范,那么我们就可以通过JDK遵照邮件协议编写一个邮件处理系统,但事实上已经有很多厂商和开源组织这样做了。Apache是...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章