Java 如何获取blob的ContentType?
我有我的网站,允许用户上传pdf,文字或图像到数据库。它存储为blob。现在,在查看文件时,我使用了以下代码 display_file.jspJava 如何获取blob的ContentType?,java,jsp,servlets,blob,Java,Jsp,Servlets,Blob,我有我的网站,允许用户上传pdf,文字或图像到数据库。它存储为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.
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。如何才能做到这一点?尝试设置有效的http头,如下所示:
response.setContentType("application/pdf");
response.setHeader("Content-Transfer-Encoding", "binary");
同样阅读此讨论,他们也有相反的问题:对我来说,第一步是了解我正在处理的数据的内容类型,然后我必须使用pdf或word或doc