无法打开流式文件附件

Posted

技术标签:

【中文标题】无法打开流式文件附件【英文标题】:Cannot Open Streamed File Attachment 【发布时间】:2014-10-21 13:40:49 【问题描述】:

通过 Domino Java 代理,我使用 Apache POI 生成 Excel 电子表格。代码首先将文件保存到驱动器;我已经验证我可以在那里打开文件并且文件包含信息。但是,当我通过 MIME 将其附加到电子邮件时,我收到一条消息,指出“Excel 无法打开文件电子表格.xlxs”和“文件格式或文件扩展名无效”。

这是我正在使用的代码:

MIMEEntity ebody = maildoc.createMIMEEntity();
Stream outStream = session.createStream();
Stream inStream = session.createStream();
inStream.open(entry.getValue(),"binary");

do 
byte[] buffer = inStream.read(32767);
outStream.write(buffer);
 while(!inStream.isEOS());

inStream.close();

MIMEEntity child = ebody.createChildEntity();
child.setContentFromBytes(outStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", MIMEEntity.ENC_IDENTITY_BINARY);
MIMEHeader cdHeader = child.createHeader("Content-Disposition");
cdHeader.setHeaderVal("attachment; filename="spreadsheet.xlxs");
MIMEHeader idHeader = child.createHeader("Content-ID");
idHeader.setHeaderVal("spreadsheet.xlxs");

outStream.truncate();
outStream.close();

任何想法我哪里出错了?

【问题讨论】:

【参考方案1】:

xlsx,不是 xlxs。你有一个错字。

【讨论】:

以上是关于无法打开流式文件附件的主要内容,如果未能解决你的问题,请参考以下文章

Adobe Acrobat 无法打开文件附件,因为您的PDF文件附件设置不允许打开本类型的文件

Adobe Acrobat 无法打开文件附件,因为您的PDF文件附件设置不允许打开本类型的文件

Adobe Acrobat 无法打开文件附件,因为您的PDF文件附件设置不允许打开本类型的文件

无法在 MS Teams 中打开附件链接

Outlook不能打开附件(提示:无法创建文件xx,请右键单击要在其中创建文件的文件夹..)

在网页中打开word和excel文件时提示文件已损坏,无法打开的解决办法