【问题标题】:How to get ContentType of a blob?如何获取 blob 的 ContentType?
【发布时间】:2013-12-04 01:09:18
【问题描述】:

我有我的网站,允许用户将 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。我该怎么做?

【问题讨论】:

    标签: java jsp servlets blob


    【解决方案1】:

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

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

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

    【讨论】:

    • 对我来说,第一步是了解我正在处理的数据的内容类型是什么,之后我必须使用 pdf 或 word 或 doc
    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 2018-07-11
    • 1970-01-01
    • 2018-07-06
    • 2014-02-28
    • 2012-09-30
    • 2020-05-13
    • 1970-01-01
    相关资源
    最近更新 更多