Вопрос

Я использую Uploadify, а то, что раньше работало, сейчас не работает, и я не уверен почему.Всякий раз, когда я нажимаю загрузить, я получаю сообщение об ошибке HTTP.Просматривая вкладку net в Firefox, не похоже, что она вообще что-либо отправляет на сервер снова.

Я пытался ввести функцию error, чтобы помочь в отладке, но атрибут status не определен..

$("#fileInput").uploadify({
                'uploader': '/scripts/upload/uploadify.swf',
                'script': '/Member/UploadImages/PerformUpload',
                'cancelImg': '/scripts/upload/cancel.png',    
                'multi': true,
                'simUploadLimit': 1,
                'fileDesc': "Images",
                'fileExt': "*.jpg;*. jpeg;*.bmp;*.png",
                'sizeLimit': 3000000,
                'onAllComplete':showFinishedLink,
                'onError': function (event, queueID ,fileObj, errorObj) {
                    var msg;
                    if (errorObj.status == 404) {
                       alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
                       msg = 'Could not find upload script.';
                    } else if (errorObj.type === "HTTP")
                       msg = errorObj.type+": "+errorObj.status;
                    else if (errorObj.type ==="File Size")
                       msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB';
                    else
                       msg = errorObj.type+": "+errorObj.text;
                    alert(msg);
                    $("#fileUpload" + queueID).fadeOut(250, function() { $("#fileUpload" + queueID).remove()});
                    return false;
                    },
            });

Есть какие-нибудь идеи?

Это было полезно?

Решение

Хорошо, выяснил, что отладка ошибок, которую я использовал, была старой, и что я могу сказать errorObj.info чтобы получить более подробную информацию о том, почему она не работает.

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

Дело закрыто!

Просто чтобы добавить больше информации об этом - 404 был результатом старого URL-адреса для входа по умолчанию в файле web.config.

Как только я исправил это, 404 затем стал 302 (просматривая журналы IIS), поскольку сайт перенаправлял меня на страницу входа в систему.

Мой скрипт загрузки находится в аутентифицированной области сайта, и поэтому мне нужно было использовать что-то, что описано на этом сайте

Использование flash с aspnet mvc

Другие советы

Я получал ошибку 302, возникающую только в Firefox / Chrome:IE8 работал нормально.Проблема оказалась в том, что Netscape теперь отправлял файлы cookie auth с обратной отправкой файла.Я разрешил файлу .ashx, который обрабатывал загрузку, анонимную авторизацию в веб-конфигурации, и больше никаких проблем не возникло.

<location path="UploadifyUploadHandler.ashx">
  <system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
  </system.web>
</location>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top