强制播放器在JAVA中安装docx文件会转化损坏的文件转载

原创
小哥 3年前 (2022-10-28) 阅读数 193 #JAVA
文章标签 javajava教程

使用JAVA我试图迫使浏览器下载该文件。

这是我目前使用的代码:

response.reset();
response.resetBuffer();
response.setContentType(mimeType);
response.setHeader("Content-Disposition", "attachment; filename="" + fileName + """);

InputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
IOUtils.copy(in, out);

out.flush();
out.close();
in.close();
response.flushBuffer();

几乎可以 它可以工作,但当被迫下载时。 docx 文档(MS Office 2007+),则下载的文件已损坏(至少,这是。MS
Office告诉我)。如果您尝试在存储它们的服务器上直接打开它,则不会出现错误,这意味着问题确实是在下载时(而不是在上传时)受到干扰。

根据 IANA的 声明,这类文件的MIME类型应为 application/vnd.openxmlformats- officedocument.wordprocessingml.document (1) ,但具体说明MIME类型不能解决问题。

Web上有很多 曲目
但它们对我都没有用处。似乎有一种 解决方案ASP.NET ,但我没有找到同等的。 JAVA

我也试着用MIME类型 application/vnd.ms-word *(2),
_就像我在 那里 看到了吧,但是下载的文件还是损坏了。一个人 在这里 建议使用MIME类型 application/msword
(3) ,并在 本论坛 上提出的MIME类型 (4)
MARKDOWN_HASH4d338170ab9ba1faabba4003a24e4060MARKDOWNHASH*

那么这四位呢,MIME类型,我尝试从下载该文件的名称。 myfile.docx 更改为 myfile.doc (不再是 x
),但问题仍然存在。

那么,如何强制下载。 未损坏的 docx 文件?我的代码正确吗?

阅读 74

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门