IE не может загрузить файл bmp с именем в кодировке Unicode - PullRequest
4 голосов
/ 20 июня 2011

У меня есть веб-приложение, которое позволяет пользователям загружать и скачивать файлы изображений, нажимая кнопки на веб-странице. Пользователь этой страницы сообщает, что IE 7 и 8 не могут загрузить файлы , когда файлы имеют имена Unicode . IE предлагает пользователю диалоговое окно, в котором говорится: «Internet Explorer не может загрузить (файл) с (веб-сервера)».

Проблема возникает только в IE. К сожалению, я не смог воспроизвести проблему, используя эти версии на моей машине.

Мой вопрос: что может вызвать это, и как я могу предотвратить это? Я читал о проблемах с контролем кэша (в настоящее время он установлен без кэширования); однако я не использую HTTP-S, и проблема возникает только с именами файлов, содержащими символы Юникода.

Обновление: проблема возникает только тогда, когда пользователь пытается загрузить путь к файлу bmp. Нестандартные пути к файлам успешно загружены. Может ли быть, что краска вызывает проблемы?

Наборы Javascript добавляют iframe, указывающий на URL, связанный с файлом.

Ответы [ 3 ]

1 голос
/ 20 июня 2011

Спасибо за ваши обновленные комментарии.

Это может быть:

  1. Ваш веб-сервер
  2. Расширения браузера ваших клиентов
  3. Ваше имя файла слишком длинное (как показано ниже, но в старых статьях)

Я думаю, что это, скорее всего, номер 2, так как вы не можете воспроизвести проблему (вы используете реальные версии браузеров, верно? Не то, что MultiIEs).

Вы можете попросить их запустить Internet Explorer без расширений, запустив iexplore -extoff, и посмотрите, имеет ли это какое-либо значение. Они также могут проверить свои настройки безопасности.

Я обнаружил, что с IE может быть множество причин, вызывающих проблему, как я упоминал ранее, у меня была проблема «неспособна загрузить», похожая на эту, причина в том, что по какой-то причине наш сервер работал с двойной загрузкой содержимое, только с IE, и IE явно не очень понравилось.

Я знаю, что эти статьи очень устарели, и я уверен, что они не применяются, однако они могут иметь отношение: http://support.microsoft.com/kb/816868 http://support.microsoft.com/kb/812935/en-us

0 голосов
/ 19 июля 2011

Таким образом, ошибка возникает только в том случае, если вы установили заголовок размещения содержимого вложения.После того, как я удалил заголовок из моих заголовков ответа http, проблема была решена.

Если вы установите для типа mime неизвестное значение, растровое изображение не будет отображаться как изображение и будет рассматриваться как вложение.

0 голосов
/ 20 июня 2011

Я думаю, вам нужно кодировать имя файла в ссылке на скачивание.Проблема может заключаться в том, что браузер не знает кодировку файловой системы веб-сервера, поэтому разные браузеры могут принимать разные предположения о кодировке вашей файловой системы.Url-кодирование должно решить эту двусмысленность.

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