Загрузите файл и получите головную боль - htmlfile: доступ запрещен - PullRequest
3 голосов
/ 12 ноября 2008

У нас есть страница, которая позволяет пользователям загружать файл с помощью элемента управления asp: FileUpload. Когда пользователь пытается отправить форму, появляется ошибка JavaScript на стороне клиента «htmlFile: доступ запрещен».

Это происходит только в IE 7 (не уверен насчет 6), и FF в порядке.

Очевидно, это связано с настройкой безопасности, которая была введена в IE с XP SP2. Справедливо, но как, черт возьми, нам это обойти? Не каждый сайт, на который я загружен, делает это, поэтому должен быть какой-то трюк, чтобы хорошо играть с IE.

Я потратил впустую дни на эту ошибку .. готов что-то убить / кого-то :)

Спасибо

Ответы [ 3 ]

1 голос
/ 16 ноября 2008

Спасибо, ребята. Мне удалось вернуться через 20 дней изменений, пока я не нашел виновника - обработчик события onload на теге body. Я писал об этом здесь: http://jonesie.net.nz/htmlFileAccessDeniedADefenceForMurder.aspx

Приветствия

0 голосов
/ 15 ноября 2008

Джонси, у вас есть ЛЮБОЕ подтверждение на стороне клиента в поле файла? например Вы пытаетесь проверить, не является ли значение не пустым, или это определенный тип файла?

Если это так, то это, вероятно, проблема. Как вы заметили, IE изменил свои политики безопасности, и определенное взаимодействие с полем считается «попыткой отслеживания», после чего IE не разрешит загрузку.

Попробуйте удалить ЛЮБУЮ проверку (включая любые обработчики событий onfocus, onblur, onchange.

0 голосов
/ 12 ноября 2008

Единственное решение, которое я обнаружил, это написать собственный клиентский JavaScript-код для проверки того, что пользователь не ввел / не выбрал относительный путь. Об этом есть статья в Microsoft KB здесь .

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