Контент-расположение. В чем разница между «встроенным» и «вложением»?

203

В чем разница между

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")

и

Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")

Я не знаю различий, потому что, когда я использую то или другое, я всегда получаю приглашение в окне, предлагая загрузить файл для них обоих. Я читал спецификации, но это неведомо.

  • 1
    Когда тип расположения является встроенным, у него обычно нет имени файла.
  • 0
    Просто для чьей-либо информации: имя файла все еще может быть установлено со встроенным, хотя это не стандартно. Chrome, Firefox, IE и Opera уважают имя файла, а Edge - нет (2018).
Показать ещё 1 комментарий
Теги:
http-headers

3 ответа

247
Лучший ответ

Потому что, когда я использую тот или иной я получите приглашение окна с просьбой загрузите файл для них обоих.

Это зависит от браузера и файла, который вы пытаетесь выполнить. С помощью встроенного браузера браузер попытается открыть файл в браузере.

Например, если у вас есть файл PDF и Firefox/Adobe Reader, встроенное расположение откроет PDF в Firefox, а вложение заставит его загрузить.

Если вы подаете файл .ZIP, браузеры не смогут отображать его в строке, поэтому для размещения в режиме вложения и вложения файл будет загружен.

  • 4
    Просто быстрое исправление: это поведение иногда отличается от мобильного контекста. Многие веб-просмотры приложений игнорируют расположение вложений и просто отображают его в браузере, если могут правильно определить тип содержимого.
27

Если он встроен, браузер должен попытаться отобразить его в окне браузера. Если он не может, он обратится к внешней программе, запрашивая пользователя.

С приложением он сразу же отправится к пользователю, а не попытается загрузить его в браузере, может ли он или нет.

8

Можно также отметить, что inline попытается открыть Office Documents (xls, doc и т.д.) непосредственно с сервера, что может привести к запросу User Credentials.

см. эту ссылку:

http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server

кто-то пытался доставить отчет Excel из SSRS через ASP.Net → пользователю всегда было предложено ввести учетные данные. После нажатия кнопки "Отмена" в приглашении она все равно будет открыта...

Если Content Disposition помечен как Attachment, он автоматически будет сохранен в папке temp после нажатия кнопки "Открыть" и затем откроется в Excel из локальной копии.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню