如何发送带有GZIP压缩的字节数组的邮件,并用** .csv.gz重命名?

时间:2016-10-19 02:54:09

标签: java csv javamail gzipoutputstream

我正在尝试发送带有由GZIP压缩的字节数组的邮件,然后用**。csv.gz重命名它。但是,我无法打开**。csv文件,它显示文件已损坏。

我通过以下代码发送了它:

ByteArrayOutputStream obj = new ByteArrayOutputStream();
gzipOS = new GZIPOutputStream(obj);
gzipOS.write(content.getBytes());//content is csv format
byte[] data = obj.toByteArray();
return data;

我尝试了很多mime类型,但它不起作用:

DataSource dataSource2 = new ByteArrayDataSource(data, "text/plain");  
messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(new DataHandler(dataSource2));
messageBodyPart.setFileName("kk.csv.gz");

此附件已成功发送,但当我使用7-zip打开它并尝试压缩它时,它会显示此文件已损坏

有没有办法解决这个问题?

我认为这是因为我用**。csv.gz重命名时的格式化 但**。csv.gz是必要的。

提示:不允许磁盘保存文件,所以我通过这种方式发送。

0 个答案:

没有答案