我正在尝试发送带有由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是必要的。
提示:不允许磁盘保存文件,所以我通过这种方式发送。