关于接收邮件附件 各位高人,我在接收邮件附件时,接到的附件是byte[]数组,也知道附件的mine类型,请问如何将这些byte[]转换成文原来发送时对应的文件,比如pgf,txt,word,jpg.最好能有个例子.谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try { FileOutputStream fos = new FileOutputStream("c:\\test.pdf"); byte[] mydata= new byte[100]; fos.write(mydata); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } 既然是字节数据(二进制数据),保存的时候不需要考虑格式,直接使用字节流写入文件即可。比如FileOutputStream,当然,用BufferedOutputStream包装一下则更好。代码可参考2楼。需要考虑的只有一点:为了让操作系统自动识别文件类型,文件的扩展名得考虑一下1、根据附件的mine类型确定文件的扩展名。2、采用原附件的扩展名。 是我误导了,让楼主考虑了一个不必要的问题。对于邮件附件来说,其实采用上传时的文件名就足够了。上传的时候叫啥,你发送的时候也叫啥。举个例子来说,假如你的附件叫“photo.jpg”,那我在发送附件的时候,文件名就采用“photo.jpg”如果你的附件没给扩展名,则我发过去的文件也是没扩展名的。我以前就是这样做的,我记得网易也是这样做的:采用原名。否则就会面临楼主提出的问题,这问题当然可以解决,但:一是有点麻烦,二是没有必要。呵呵。 为什么会报出NullPointerException 请教一个java里的问题 workflow的问题 希望大家帮忙 这是为什么?? JList中添加JPanel的问题 j2se 的下载问题? 求助, java 把一个字符串存储到一个数组里。 又一个jni的问题,我想应该发表在这个版吧 哪位老大给个HTML基础教程pdf或doc格式的 java 如何实现以鼠标为中心用滚轮对图片进行局部的放大 java中有没有给出地址求出相应数据的函数 在cmd下给java打包成jar 出现以下原因:标明清单(manifest)
{
FileOutputStream fos = new FileOutputStream("c:\\test.pdf");
byte[] mydata= new byte[100];
fos.write(mydata);
fos.flush();
fos.close();
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
1、根据附件的mine类型确定文件的扩展名。
2、采用原附件的扩展名。
是我误导了,让楼主考虑了一个不必要的问题。对于邮件附件来说,其实采用上传时的文件名就足够了。上传的时候叫啥,你发送的时候也叫啥。
举个例子来说,假如你的附件叫“photo.jpg”,那我在发送附件的时候,文件名就采用“photo.jpg”
如果你的附件没给扩展名,则我发过去的文件也是没扩展名的。我以前就是这样做的,我记得网易也是这样做的:采用原名。
否则就会面临楼主提出的问题,这问题当然可以解决,但:一是有点麻烦,二是没有必要。呵呵。