0

我了解到我不能只object为 HTML 的标签设置一个本地 URL,这导致我进行了更多搜索。结果,我看到了这篇非常详细且有据可查的帖子。但我不知道这是否是我应该采取的正确方法,而且我对JSF真的一无所知。

我想要做的是在网络浏览器中发送一个 PDF 文件,或者只是将一个 PDF 文件嵌入到来自本地路径的浏览器中。有没有办法在春天做到这一点?我使用commons-fileupload将 PDF 上传到本地路径,因为他们说这是一个好习惯。现在剩下的就是显示它。

顺便说一句,Spring MVC如果这也有助于澄清我需要的方法,我正在使用。

更新:

到目前为止我学到的是用来@ResponseBody返回字节,所以我尝试了这个:

@ResponseBody
@RequestMapping(value = "/get/pdf", produces="application/pdf")
public byte[] download( HttpServletResponse response ) throws IOException {

     response.setContentType( "application/pdf" );
     byte[] test = null;
     try
     {
          String path = new FileDAO().getFilePath( 1 );
          File file = new File( path );

          test = new byte[ ( int ) file.length() ];

          FileInputStream fileInputStream = new FileInputStream( file );
          fileInputStream.read( test );
     }
     catch( Exception e )
     {
          e.printStackTrace();
     }
     return test;
}

网页的结果是这样的。

结果

我想在objectiframe标记中显示 PDF 文件。

4

1 回答 1

0

使用 Spring MVC 比其他帖子中的建议要简单一些。使用@ResponseBody,您几乎可以通过从控制器返回响应来将任何内容写入响应。

@ResponseBody
@RequestMapping(value = "/get/pdf", produces="application/pdf")
public byte[] download(HttpServletResponse response) throws IOException {
    response.setContentType("application/pdf");
    return getPdfBytes();
}
于 2013-10-30T05:57:47.853 回答