gpt4 book ai didi

java - spring-mvc 下载 Action

转载 作者:行者123 更新时间:2023-11-30 06:39:09 26 4
gpt4 key购买 nike

是否有一些技巧可以让 SpringMVC 自定义 View 在浏览器中下载文件?我已经从 org.springframework.web.servlet.View 实现了 render 方法,但是代码导致我的数据作为数据 block 写入页面,而不是下载操作开始。

try {

Document oDoc = (Document) model.get("oDoc");
out = new PrintWriter(response.getOutputStream());

response.setContentType("application/vnd.ms-excel");
response.setHeader("content-disposition", "attachment; filename=file.xls");

GenerateXLSFile gof = new GenerateXLSFile();

gof.outputTSVFromDom(out, oDoc);

} catch block here {

//writes to log here

} finally {

if (out != null) {
out.flush();
out.close();
}

}

我知道正在从服务器日志中调用渲染方法。我知道 GenerateXLSFile 是从服务器日志创建的。我知道 outputTSVFromDom 可以从我的 JUnit 测试中获取文档并将其转换为工作。它还会写入服务器日志并完成。数据最终出现在浏览器中。根据 Firebug ,HTTP header 看起来很正常。服务器日志中没有来自 catch block 的错误。

我在这里错过了什么?

最佳答案

首先,您使用的是哪个 API? Excel 文档是二进制的,因此您应该使用 OutputStream,而不是 Writer。

其次,Spring 内置了对提供 Excel 文档的支持:

关于java - spring-mvc 下载 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1381499/

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