【问题标题】:Spring 3.0 Java REST return PDF documentSpring 3.0 Java REST 返回 PDF 文档
【发布时间】:2012-08-01 19:11:39
【问题描述】:

我有一个在后端生成的 PDF 文档。我想使用 Spring MVC REST 框架返回它。 MarshallingView 和 ContentNegotiatingViewResolver 应该是什么样的?

根据我找到的一个示例,控制器会将这个作为返回:

return new ModelAndView(XML_VIEW_NAME, "object", 
    byteArrayResponseContainingThePDFDocument);

-谢谢。

【问题讨论】:

    标签: java spring model-view-controller rest


    【解决方案1】:

    你可以定义你的方法来接受显式的HttpServletRequestHttpServletResponse并直接流到HttpServletResponse,这样:

    @RequestMapping(value="/pdfmethod", produces="application/pdf")
    public void pdfMethod(HttpServletRequest request, HttpServletResponse response){
        response.setContentType("application/pdf");
        InputStream inputStream = null;
        OutputStream outputStream = null;
        try{
            inputStream = getInputStreamFromYourPdfFile();
            outputStream = response.getOutputStream();
            IOUtils.copy(inputStream, outputStream);
        }catch(IOException ioException){
            //Do something or propagate up..
        }finally{
            IOUtils.closeQuietly(inputStream);
            IOUtils.closeQuietly(outputStream);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 2020-07-02
      • 1970-01-01
      • 2018-07-04
      相关资源
      最近更新 更多