Какой тип содержимого для принудительной загрузки текстового ответа? - PullRequest
18 голосов
/ 09 октября 2008

Мне нужно передать файл в Response для сохранения на компьютере конечного пользователя. Файл представляет собой простой текст, какой тип содержимого можно использовать для предотвращения отображения текста в браузере?

Ответы [ 3 ]

25 голосов
/ 09 октября 2008

В большинстве случаев должно работать:

Content-type: application/octet-stream
Content-Disposition: attachment; filename="myfile.txt"

В некоторых случаях браузеры по-прежнему отображают его в виде текстового файла, но ни один из основных браузеров этого не сделает (я говорю о браузерах, встроенных в некоторые MID).


РЕДАКТИРОВАТЬ : Когда этот ответ был первоначально опубликован, отправка Mime-Type application/octet-stream была единственным надежным способом вызвать загрузку в некоторых браузерах. Теперь в 2016 году, если вам не нужно поддерживать древний браузер, вы можете смело указывать правильный mime-тип.

23 голосов
/ 09 октября 2008

Чтобы быть в безопасности и обеспечить согласованное поведение во всех браузерах, обычно лучше использовать оба:

Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"My Text File.txt\"
7 голосов
/ 09 октября 2008

Я не думаю, что это так работает.

Используйте заголовок Content-Disposition: attachment, но придерживайтесь правильного Content-Type.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...