Иногда нужно чтобы некоторые типы файлов скачивались при клике по ссылке на них, но вместо того они открываются в браузере. Такая проблема часто возникает, например, с файлами pdf, txt, html и другими.
Запретить открытие файла в браузере (чтобы он скачивался) достаточно просто — для этого нужно в файле .htaccess, который находится в папке сайта (если этого файла там нет — создайте его и откройте любым текстовым редактором) добавьте строчку:
AddType application/octet-stream .txt
Где вместо .txt нужно подставить расширение того файла, для которого нужно включить принудительное скачивание.
Что эта директива делает?
AddType указывает серверу, какой MIME-тип отдавать в заголовке ответа «Content-Type» при запросе посетителем файла с указанным расширением.Тип application/octet-stream — говорит браузеру что дальше будут идти данные какого-то (абсолютно не важно какого) двоичного файла, которые нужно бережно сохранить на диск. 🙂
Коротенькая справка.
Content-Type — это один из http-заголовков используемых для указания, что именно за данные передаются вслед за ним. В зависимости от того, какой mime-type получен — браузер посетителя определяет — что с получаемыми данными делать.
Так, при указании сервером вот такого заголовка:
Content-Type: image/jpeg
браузер посетителя приготовится принимать картинку в формате jpeg, и после получения данных покажет её пользователю.
А при вот таком
Content-Type: text/plain
получит и покажет самый обычный текст.
Случайно попал на Ваш сайт. Опыт в веб разработке у меня не большой, всего полтора года. Но ваша статья, а именно основная информация про application/octet-stream очень была полезна и помогла в решении моей проблемы. Благодарю Вас за помощь!
Всегда пожалуйста!
Спасибо огромное! Помогло! А я голову сломал!
Ничего не ясно автор объяснять не умеет
спасибо, добрый человек, сильно помог