有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取blob的ContentType?

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

显示文件。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();

并显示_文件。jsp

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

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

现在我也想在webbrowser上显示pdf。我该怎么做


共 (1) 个答案

  1. # 1 楼答案

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

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

    同样阅读这个讨论,他们有相反的问题:How to force browser to download file?