如何获取blob的内容类型?

时间:2013-11-20 06:46:19

标签: java jsp servlets blob

我的网站允许用户将pdf,word或图像上传到数据库。它存储为blob。现在,在查看文件时,我使用了以下代码

display_file.jsp

 Blob  b = rs.getBlob(img);
 InputStream is = b.getBinaryStream();
 OutputStream os = response.getOutputStream();
byte buf[] = new byte[(int) b.length()];
                    is.read(buf);
                    os.write(buf);
                    os.close();

和show_files.jsp

<a href="PhotoDisplay.jsp?img=image4&id=<%=contractNo%>" >Image 4 </a>

每当我点击此链接时,如果它是图像,它将显示在webbrowser上。 但是,如果它是pdf,则在浏览器中打开下载提示,我必须下载它。

现在我想在webbrowser上显示pdf。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

尝试设置有效的http标头,如下所示:

response.setContentType("application/pdf");
response.setHeader("Content-Transfer-Encoding", "binary");

另请阅读此讨论,他们遇到了相反的问题:How to force browser to download file?