H.AL Ответов: 1

Загрузка файлов с помощью ajax и jquery возвращает сетевую ошибку для некоторых файлов


Я сделал полную функцию javascript, используя jquery и ajax для загрузки файлов ... Все работает отлично, пока я не понял, что для некоторых файлов функция ошибки запускается в ajax вместо функции успеха. Ниже приведен мой код:

$.ajax({
           url: 'MyService.asmx/UploadFiles',
           type: "POST",
           contentType: false,
           processData: false,
           data: fileData,   // form data that contains file and some data
           dataType: "text",
           success: function (response) {
             ...
           }
           error: function (jqXHR, exception) {
              //alert(jqXHR.status);
              var msg = '';
              if (jqXHR.status === 0) {
                  msg = 'Not connect.\n Verify Network.';
              } else if (jqXHR.status == 404) {
                  msg = 'Requested page not found. [404]';
              } else if (jqXHR.status == 500) {
                  msg = 'Internal Server Error [500].';
              } else if (exception === 'parsererror') {
                  msg = 'Requested JSON parse failed.';
              } else if (exception === 'timeout') {
                  msg = 'Time out error.';
              } else if (exception === 'abort') {
                  msg = 'Ajax request aborted.';
              } else {
                  msg = 'Uncaught Error.\n' + jqXHR.responseText;
              }
              alert(msg);
           }
    });


Возникает ошибка "не подключаться.\n проверить сеть". Я искал эту ошибку и обнаружил, что она возникает, когда служба недоступна или когда межсайтовый сценарий (доступ запрещен) ... Самое странное, что некоторые файлы загружаются успешно, другие-нет, а это значит, что сервис доступен и доступ не запрещен ... А что касается типов файлов, то все они являются файлами docs с максимальным размером 5 Мб, всякий раз, когда я удаляю все внутри файла, что не может быть загружено, и я снова пытаюсь загрузить: функция завершается успешно...
Я запускаю функцию загрузки в событии onchange:
<input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" /> ; 

Мой ввод находится внутри ASP: UpdatePanel на странице. aspx, поэтому никаких форм и действий ...
Так почему же некоторые файлы загружаются успешно, а другие-нет? Как я могу решить свою проблему, чтобы иметь возможность загружать все файлы?

Что я уже пробовал:

Я попытался вернуть false при изменении, как это было предложено в некоторых решениях:
<input type="file" class="HideFile" onchange="UploadFilesnew();return false;" onclick="resetInput(this)" id="UploadFilenew" /> ; 


Но это не сработало

Я также установил последнюю версию jquery, так как у меня была старая, но она не работала

1 Ответов

Рейтинг:
8

H.AL

Я нашел его:
Я только что добавил этот блок в свой файл web.config

<system.web>
     <httpRuntime maxRequestLength="1048576" />
</system.web>


Проблема была в том, что когда размер файла приближается к 5 Мб, то запрос завершается неудачей