我了解到我不能只将本地网址设置为HTML的object
标记,这使我更加搜索。结果,我看到了这个post,它非常详细且记录完备。但我不知道这是否适合我,我对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;
}
网页的结果是这样的。
我想在object
或iframe
标记中显示PDF文件。
答案 0 :(得分: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();
}