Откройте файл в браузере с помощью Spring-MVC

Я читаю файл из базы данных и пытаюсь открыть файл в браузере. Мой код ниже...

когда я делаю это в то время, файл автоматически загружается

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 и т. д. Итак, я хочу сохранить свой MIME-тип по умолчанию, то есть «application/octet-stream», и я также хочу открыть этот файл в браузере.

Пожалуйста, помогите мне.

Заранее спасибо...


person abhishek    schedule 21.10.2014    source источник


Ответы (1)


Я бы попробовал Apache Tika:

Получение подтипа MimeType с помощью Apache tika

или MediaType из Библиотеки гуавы.

Без типа содержимого браузер загрузит его как вложение.

person Claes Mogren    schedule 21.10.2014
comment
Если я не установлю фактический тип содержимого, файл не будет автоматически открываться в браузере. Невозможно показать файл в браузере без указания фактического типа содержимого? - person abhishek; 21.10.2014
comment
Нет, я так не думаю. Я никогда не заставлял его работать в нашем приложении без установки типа контента. Мы устанавливаем его в соответствии с суффиксом файла, поскольку мы знаем исходное имя загруженного файла. - person Claes Mogren; 21.10.2014