我有我的网站,允许用户将 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>
每当我点击此链接(如果它是图像)时,它就会显示在网络浏览器上。 但是,如果它是 pdf,则会在浏览器中打开下载提示,我必须下载它。
现在我也想在网络浏览器上显示 pdf。我怎样才能做到这一点?
最佳答案
尝试设置有效的 http header ,如下所示:
response.setContentType("application/pdf");
response.setHeader("Content-Transfer-Encoding", "binary");
另请阅读此讨论,他们有相反的问题:How to force browser to download file?
关于java - 如何获取 blob 的 ContentType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089206/