Internet Explorer удаляет расширение .exe из загрузки, когда следуют параметры URL - PullRequest
10 голосов
/ 02 февраля 2010

Сейчас я обслуживаю файлы из Amazon S3 и создаю безопасный URL-адрес с помощью API. Прекрасно работает везде, кроме людей, загружающих файлы .exe в IE. Я проверял это на IE 8 и 7.

Если вы используете локальный веб-сервер, вы можете проверить это, поместив notepad.exe в ваш веб-корень. Перейти к http://localhost/notepad.exe (или эквивалентному) Теперь попробуйте http://localhost/notepad.exe?

Следует сохранить файл в виде блокнота без расширения. Это «особенность», потому что поиск в Google ничего не дает. Благодаря всей проблеме расширений IE, вы не можете ничего искать по расширениям файлов.

Кроме того, если имя файла содержит несколько периодов, иногда в конце добавляется [1] или [].

Есть идеи? Документы на это ужасное поведение? Похоже, что это должна быть функция безопасности, но мне еще предстоит найти возможность отключить ее.

И, как всегда, спасибо. Тим

Ответы [ 2 ]

12 голосов
/ 25 августа 2012

У нас была такая же проблема при обслуживании файлов с S3. Оказывается, вам нужно правильно настроить расположение содержимого, чтобы IE правильно обрабатывал файлы. А именно, заголовок HTTP

Содержание-Диспозиция: вложение; имя файла = "text.exe"

Эта статья описывает чуть более подробно: http://www.jtricks.com/bits/content_disposition.html

6 голосов
/ 04 февраля 2010

Здесь есть длинная история, но простой обходной путь заключается в том, чтобы сделать это:

http://www.example.com/dl/test.exe?mysecret=12321412&FixForIE=.exe

Что касается трейлинга [1] или еще чего-то, нет, на самом деле вы ничего не делаетеможет сделать это, если пользователь уже скачал с этого URL раньше.

...