Как заставить IE показывать более конкретную ошибку? - PullRequest
1 голос
/ 18 января 2012

У меня есть элемент управления asp: FileUpload на моей странице. Размер файла по умолчанию составляет 4 МБ. Если бы я попытался загрузить файл размером более 4 МБ, я бы обнаружил, что Internet Explorer не может отобразить веб-страницу. Я установил точку останова в обработчике событий для загрузки, на этом она не остановилась. Сообщение об ошибке носит слишком общий характер. Могу ли я сделать так, чтобы IE показывал мне более конкретное сообщение об ошибке?

Обновление: я не смог найти способ изменить сообщение об ошибке. Я решил использовать контроль AJAX AsyncFileUpload. Это лучшая версия FileUpload.

1 Ответ

1 голос
/ 18 января 2012

Один из возможных способов справиться с этой ошибкой - увеличить квоту в web.config до очень большого значения, а затем в вашем обработчике проверить размер загруженного файла и, если он больше 4 МБ, отобразить сообщение об ошибке:

<system.web>
    <!-- 10GB max file size -->
    <httpRuntime executionTimeout="3600" maxRequestLength="1048576" />
</system.web>

Современные браузеры, поддерживающие HTML 5 File API, также позволяют вам проверять размер файла на клиенте еще до его загрузки, чтобы вы могли показывать пользователю сообщение об ошибке при выборе файла:

if (typeof FileReader !== 'undefined') {
    // the browser supports HTML 5 File API => we 
    // can check the size of the file that the user selected
    var size = document.getElementById('myfile').files[0].size;
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...