Как я могу заставить браузеры загружать exe-файлы вместо того, чтобы открывать их в окне браузера? - PullRequest
1 голос
/ 01 октября 2009

У меня есть веб-сайт, с которого я хочу разрешить пользователям браузера загружать exe.

Я тестирую его с очень простым HTML-файлом, который загружаю в веб-браузер с помощью команды «Файл> Открыть». «Тело» выглядит примерно так:

<body>
<a href="http://www.example.com/myprogram.exe" target="_self">click to download exe</a>
<a href="http://www.example.com/myprogram.zip" target="_self">click to download zip</a>
</body>

Проблема заключается в следующем: когда я нажимаю на первую ссылку (myprogram.exe), браузер (IE8 и FireFox) направляет myprogram.exe прямо в окно браузера: я вижу много двоичных файлов.

Когда я нажимаю на вторую ссылку (myprogram.zip), браузер спрашивает меня, хочу ли я открыть файл или сохранить его на диск, что я и ожидал от .exe.

Это ЕДИНСТВЕННАЯ загрузка .exe, которая вызывает это странное поведение. Я часто скачивал .exes, и браузеры всегда спрашивают меня, открывать ли файл или сохранять на диск.

Есть ли что-то, что нужно установить на самом веб-сайте, хосте или ...?

Ответы [ 4 ]

2 голосов
/ 01 октября 2009

Вам необходимо исправить тип контента, который отправляет ваш веб-сервер. Похоже, он утверждает, что данные text/plain. Мой файл mime.types предполагает, что EXE-файлы должны быть application/x-msdos-program

Если вы используете Apache, см. http://httpd.apache.org/docs/1.3/mod/mod_mime.html#addtype (или аналогичную страницу в руководстве для используемой версии).

1 голос
/ 01 октября 2009

Вам необходимо установить Content-Disposition HTTP-заголовок .

ОБНОВЛЕНИЕ: заголовки HTTP обычно контролируются на веб-сервере, например, Apache.

Как отмечает другой автор, большинство браузеров должны автоматически загружать .exe файлы в виде вложений, если сервер отправляет правильный заголовок Content-Type . Как это сделать, зависит от сервера. Вот статья о настройке типов MIME (другое имя для типа содержимого) в IIS . В Apache это обычно делается путем редактирования файла, на который указывает директива TypesConfig .

0 голосов
/ 02 октября 2009

В конце концов требуется Приложение AddType / x-octet-stream exe применяется.

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

0 голосов
/ 01 октября 2009

Смотрите это

Как вызвать диалоговое окно «Загрузка файла» для известного типа MIME

При подаче документа с веб-сервера может потребоваться немедленно предложить пользователю сохранить файл непосредственно на диск пользователя, не открывая его в браузере. Однако для известных типов MIME (многоцелевых расширений почты в Интернете), таких как Microsoft Word («application / ms-word»), по умолчанию выполняется открытие документа в Internet Explorer.

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

Содержание-расположение: вложение; имя файла = fname.ext

...