gpt4 book ai didi

java - 读取从 Java 服务器生成的 DOCX 文件时出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:39 26 4
gpt4 key购买 nike

在服务器端,我有一个正确的 DOCX 文件。我有 Java 代码来从磁盘读取文件并通过 JSP 刷新它。

当我下载文件时,Office 说文件包含错误。这是我的 JSP 中的代码:

    File dir = new File("c:\\file_test.docx");
FileInputStream fin = new FileInputStream(dir);
byte fileContent[] = new byte[(int)dir.length()];
fin.read(fileContent);
fin.close();
response.setHeader("Content-Disposition", "attachment;filename=file_test.docx");
response.setContentLength((int)dir.length());
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=utf-8");
response.getOutputStream().write(fileContent);
response.getOutputStream().flush();

我发现下载的文件最后有一个空行。如果我用记事本打开文件并删除空格,文件可以正确打开。

我的问题是,在 JSP 中,如何删除二进制文件末尾的空白?我试图在文件中包含除最后一个字节之外的所有字节,但这不起作用。

If I delete the line 6238, Office opens the file correctly. Edited with Notepad++

如果我删除第 6238 行,Office 会正确打开文件。用Notepad++编辑

我需要你的帮助!

最佳答案

JSP一不小心就输出文本

结束于:

%>

后面没有任何内容,即没有换行符

或者让它成为一个 servlet。

关于java - 读取从 Java 服务器生成的 DOCX 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16102782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com