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

Вид: 14464|Ответ: 1

http ответный заголовок Content-disposition

[Скопировать ссылку]
Опубликовано 14.10.2016 9:11:43 | | |
Распределение контента — это расширение протокола MIME, которое инструктует пользовательского агента MIME отображать подключённые файлы. Когда Internet Explorer получает заголовок, он активирует диалоговое окно загрузки файла, и окно с именем файла автоматически заполняется имя файла, указанного в заголовке. (Обратите внимание, что это вызвано замыслом; Нельзя использовать эту функцию для сохранения документа на компьютер пользователя, не спросив пользователя, где его сохранить. )  

        Когда сервер отправляет файл в браузер клиента, если это тип файла, поддерживаемый браузером, он обычно по умолчанию открывается с помощью браузера, например txt, jpg и т.д., которые отображаются непосредственно в браузере, если пользователя нужно запросить сохранить файл, необходимо использовать Content-Disposition для обработки файла, ключ — добавить вложение:

Response.AppendHeader ("Содержание-Разрешение","attachment; filename=FileName.txt»);

Примечание: Это подскажет сохранить или открыть, и даже если вы решите открыть, приложение откроется с помощью соответствующей программы, например Notepad, вместо того чтобы открыть IE напрямую.

Content-Disposition предназначен для предоставления имя файла по умолчанию, когда пользователь хочет сохранить запрошенное содержимое как файл. Конкретные определения следующие:

содержание-диспозиция = "содержание-диспозиция" ":"

тип disposition-type *( ";" disposition-parm )

Тип расположения = «привязанность» | disp-extension-token

disposition-parm = имя файла-parm | disp-extension-parm

filename-parm = "filename" "=" quoted-string

disp-extension-token = токен

disp-extension-parm = токен "=" ( токен | quoted-string )

Таким образом, мы можем увидеть конкретные примеры из вышеуказанного:
Cache-Control:private
Content-Disposition:attachment; filename=Index1.png
Content-Length:328462
Content-Type:image/png
Date:Fri, 14 Oct 2016 01:08:04 GMT
Server:Microsoft-IIS/8.0
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:5.2
X-Powered-By:ASP.NET

Content-Disposition: attachment; filename=“filename.xls”

       Конечно, параметр имени файла может содержать информацию о пути, но User-Agnet игнорирует эту информацию и использует только последнюю часть информации в качестве имени файла. Если вы используете этот заголовок в приложении типа ответа/octet-stream, это значит, что вы не хотите отображать контент напрямую, но появится диалоговое окно «загрузка файла», и тогда вам предстоит решать, открывать или «сохранять».

Примечания:

1. При использовании Content-Disposition в коде, чтобы браузер появлялся в диалоговом окне загрузки. response.addHeader («Content-Disposition», «attachment»); Убедитесь, что вы ничего не делали с отключением кэширования браузера. Следующим образом:

response.setHeader ("Pragma", "No-cache");  
response.setHeader ("Cache-Control", "No-cache");  
response.setDateHeader("Expires", 0);





Предыдущий:C# копирование больших файлов, чтение и запись
Следующий:c# Вычислить значение SHA256 файла
 Хозяин| Опубликовано 13.12.2024 18:29:16 |
Java oss Alibaba Cloud настройки загрузки файла имя файла загрузки
https://www.itsvse.com/thread-7853-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com