首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-mvc下载操作

spring-mvc下载操作
EN

Stack Overflow用户
提问于 2009-09-04 20:52:30
回答 1查看 6.7K关注 0票数 2

在浏览器中使用SpringMVC自定义视图来下载文件有什么窍门吗?我已经从org.springframework.web.servlet.View实现了render方法,但是代码导致我的数据作为一个blob数据写入页面,而不是启动一个下载操作。

代码语言:javascript
复制
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标头看起来很正常。服务器日志中没有catch块中的错误。

这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-13 11:58:58

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

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

基于Apache POI API

  • AbstractJExcelView,的
  • AbstractExcelView,基于

JExcel接口

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1381499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档