关于接收邮件附件 各位高人,我在接收邮件附件时,接到的附件是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”如果你的附件没给扩展名,则我发过去的文件也是没扩展名的。我以前就是这样做的,我记得网易也是这样做的:采用原名。否则就会面临楼主提出的问题,这问题当然可以解决,但:一是有点麻烦,二是没有必要。呵呵。 关于JSTL中的c:forTokens的问题 一个奇怪的问题——java调用存储过程 关于单例模式 临时数据的问题,求高手帮忙 大家帮我看看这个就几行的代码是什么问题好吗? java中图像保存。见者有分!大侠们,支招! 如何判断一个String是中文字符还是英文字符组成的呢? 各位大侠:我有一个2M左右的只有一行的纯文本文件,要怎么读? 请问WIN32 API 其实是什么? JB5.0中的控件怎么移动? 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”
如果你的附件没给扩展名,则我发过去的文件也是没扩展名的。我以前就是这样做的,我记得网易也是这样做的:采用原名。
否则就会面临楼主提出的问题,这问题当然可以解决,但:一是有点麻烦,二是没有必要。呵呵。