Каковы различия между
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
и
Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
Я не знаю различий, потому что, когда я использую то или иное, я всегда получаю окно с предложением загрузить файл для них обоих. Я читал спецификации, но это бессмысленно.
asp.net
http-headers
Клейтон
источник
источник
Ответы:
Это поведение зависит от браузера и файла, который вы пытаетесь обслуживать. Со встроенным браузер попытается открыть файл в браузере.
Например, если у вас есть файл PDF и Firefox / Adobe Reader, встроенное расположение откроет PDF в Firefox, а вложение заставит его загрузить.
Если вы отправляете файл .ZIP, браузеры не смогут отображать его встроенным образом, поэтому для размещения встроенных файлов и вложений файл будет загружен.
источник
Если он встроен, браузер должен попытаться отобразить его в окне браузера. Если это невозможно, он прибегнет к внешней программе, запрашивая пользователя.
С вложением он сразу перейдет к пользователю, и не будет пытаться загрузить его в браузер, может это или нет.
источник
Также стоит упомянуть, что inline попытается открыть документы Office (xls, doc и т. Д.) Непосредственно с сервера, что может привести к запросу на ввод учетных данных пользователя.
см эту ссылку:
http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server
кто-то пытался доставить отчет Excel из SSRS через ASP.Net -> пользователю всегда предлагалось ввести учетные данные. После нажатия кнопки «Отмена» в приглашении оно все равно будет открыто ...
Если расположение содержимого помечено как вложение, оно будет автоматически сохранено во временную папку после нажатия кнопки «Открыть», а затем открыто в Excel из локальной копии.
источник