【问题标题】:Open the file in browser using Spring-MVC使用 Spring-MVC 在浏览器中打开文件
【发布时间】:2014-12-16 07:15:32
【问题描述】:

我正在从数据库中读取文件并尝试在浏览器中打开文件。我的代码在下面...

当我这样做时,文件会自动下载

response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "inline; filename=\""+ docName + "\"");

但是当我这样做时,文件正在浏览器中打开。

response.setContentType("application/pdf");
response.setHeader("Content-disposition", "inline; filename=\""+ docName + "\"");

这是由于 mimetype "application/pdf" 而发生的。但在我的应用程序中,我不知道文件的 mimetype。它可以是 pdf、图像、txt、doc 等任何内容。所以,我想保持我的 mimetype 默认为“application/octet-stream”,并且我还想在浏览器中打开该文件。

请帮帮我。

提前谢谢...

【问题讨论】:

    标签: java spring spring-mvc download multipart


    【解决方案1】:

    我会试试 Apache Tika:

    Getting MimeType subtype with Apache tika

    或来自 Guava 库的 MediaType

    如果没有内容类型,浏览器会将其作为附件下载。

    【讨论】:

    • 如果我没有设置实际的内容类型,那么文件将不会在浏览器中自动打开。不输入实际内容类型就无法在浏览器中显示文件吗?
    • 不,我不这么认为。如果不设置内容类型,我从来没有让它在我们的应用程序中工作。我们根据文件后缀来设置,因为我们知道上传文件的原始文件名。
    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2017-01-01
    相关资源
    最近更新 更多