社区
Java EE
帖子详情
接收附件问题
huangjiuyt
2003-01-05 12:12:31
我用javamail接收附件时可是找不到下载的附件的存放路径,有谁知道呀,谢谢
另外,我想做一个web的界面,显示每个邮件附件的名字,可以实现单个下载,可以实现多个下载,我应该怎么实现,请高手教教
...全文
29
5
打赏
收藏
接收附件问题
我用javamail接收附件时可是找不到下载的附件的存放路径,有谁知道呀,谢谢 另外,我想做一个web的界面,显示每个邮件附件的名字,可以实现单个下载,可以实现多个下载,我应该怎么实现,请高手教教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
runi
2003-09-11
打赏
举报
回复
附件:
1。如果要把附件存放在web服务器上,.
只需要在接受邮件的时候,指定web服务器上的附件存放位置将邮件的附件复制过去就可以了。
public synchronized Vector getAtta(Message message)
{
try
{
Vector v_atta=new Vector();//用于存贮附件保存的路径和文件名
String Content="";
String[] fileName = null;
InputStream[] inputStream = null;
Object o = message.getContent(); //当Message对象含有附件时,其内容会以Multipart的形式存在
if (o instanceof String)
{
//return null;
//不含附件
}
else if (o instanceof Multipart)
{
//可能含有附件
//以Multipart的getBodyPart方法取得内容部分,并以getDisposition方法取得邮件的配置
Multipart mp = (Multipart) o;
fileName = new String[mp.getCount()];
inputStream = new InputStream[mp.getCount()];
OnlineEdit oe=new OnlineEdit();
String Online_ID=oe.getOnline_ID();
for (int i = 0, n = mp.getCount(); i < n; i++)
{
Part part = mp.getBodyPart(i);
if (i == 0)
{
Content = part.getContent().toString();
}
String disposition = part.getDisposition();
//判断Multipart中是否含有附件的方法.则是依据getDisposition所返回的内容
if ( (disposition != null) &&
(disposition.equals(Part.ATTACHMENT) ||
disposition.equals(Part.INLINE)))
{
fileName[i] = part.getFileName();
System.out.println(fileName[i]);
fileName[i] = fileName[i].valueOf(i) +
fileName[i].substring(fileName[i].indexOf("."),
fileName[i].length());//更换文件名
fileName[i]="E"+Online_ID+fileName[i];
//System.out.println(fileName[i]);
inputStream[i] = part.getInputStream();
System.out.println(inputStream[i].toString());
PropPath pp=new PropPath();
String pathName ="\\Atta";//福建保存路径
pathName=pp.getAppPath(pathName);
////////////////存贮附件保存的路径和文件名
v_atta.add(pathName + fileName[i]);
////////////////
File file = new File(pathName + fileName[i]);
FileOutputStream outfile = new FileOutputStream(file);
BufferedInputStream br = new BufferedInputStream(inputStream[i]);
BufferedOutputStream bw = new BufferedOutputStream(outfile);
int b;
while ( (b = br.read()) != -1)
{
bw.write(b);
}
bw.flush();
outfile.close();
}
}
}
Vector V_res=new Vector();
V_res.add(fileName);
V_res.add(Content);
V_res.add(v_atta);
return V_res;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
maobing
2003-09-11
打赏
举报
回复
up
iamqqmyheart
2003-01-06
打赏
举报
回复
//附件...
String filename="";
try{
Object obj = message.getContent();
String disp="";
if (obj instanceof Multipart){
Multipart mp = (Multipart)obj;
for(int i=0;i<mp.getCount();i++){
part = mp.getBodyPart(i);
disp = part.getDisposition();
if(disp!=null){
if ((disp.equalsIgnoreCase(javax.mail.Part.ATTACHMENT))||(disp.equals(Part.INLINE)))
filename=filename+saveAttachments(part)+";";
}
}
}
}catch(Exception e){System.out.println("attachment:");e.printStackTrace();}
huangjiuyt
2003-01-06
打赏
举报
回复
帮以下
win886688
2003-01-05
打赏
举报
回复
这是因为附件名称是中文的。你可以搜一下这方面的解决方法!
SpringMVC文件上传,多文件上传实例
在上一篇SpringMVC基础教程的源码基础上增加了文件上传,多文件上传
mail.jar&activation.jar
mail.jar与activation.jar 希望对大家有帮组啊!
使用java mail发送带
附件
的邮件,网页登录
接收
正常,foxmail
接收
附件
为dat文件的处理
问题
引入 在一次做发邮件功能时发现,邮件
附件
为xlsx文件,在网页登录
接收
邮箱时,
附件
正常,用foxmail或者网易邮箱大师客户端
接收
时,
附件
有
问题
,foxmail
接收
的
附件
为dat文件,网易邮箱大师
接收
的为bin文件,在网上查找的时候发现好像是因为
附件
名过长导致的。参考Java发送邮件Excel
附件
名称变为.dat文件,虽然我的
附件
名没超过60个字符,但是有中文,也出现了这个
问题
问题
解决 参考...
springboot
接收
多个
附件
和json数组对象
直接上图,前端 前端用formdata封装对象,如果需要传入json数组,记得设置格式为json。 springboot后端 文件直接用MultipartFile
接收
就可以,json数组我试过直接写在参数上会报错,用request的方式来获取json字符串,然后用fastjson来转成list对象。如果有更好的方法可以评论区交流。 如果不需要这么复杂的参数,只是
附件
和单个json对象,在方法参数上面加上@RequestPart注解就可以 ...
JavaMail 邮件发送,
附件
名乱码
问题
解决方案
这种情况下,客户端可能能够正常显示
附件
名,但在Web端或其他邮件客户端中,
附件
名却显示为乱码。通过对
附件
名进行适当的编码转换,我们可以解决JavaMail在发送邮件时
附件
名乱码的
问题
。在实际开发中,我们应该根据
接收
方的要求选择合适的编码方式,并在设置
附件
名时进行编码转换操作,以确保
附件
名能够正确显示。如果发送方和
接收
方使用的编码方式不一致,就可能导致
附件
名显示为乱码。下面是一个示例代码,演示了如何在JavaMail中发送带有
附件
的邮件,并解决
附件
名乱码的
问题
。这样就能够避免
附件
名乱码的
问题
。
Java EE
67,541
社区成员
225,857
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章