Uploadify не работает [закрыто]
Вопрос
Я использую 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), поскольку сайт перенаправлял меня на страницу входа в систему.
Мой скрипт загрузки находится в аутентифицированной области сайта, и поэтому мне нужно было использовать что-то, что описано на этом сайте
Другие советы
Я получал ошибку 302, возникающую только в Firefox / Chrome:IE8 работал нормально.Проблема оказалась в том, что Netscape теперь отправлял файлы cookie auth с обратной отправкой файла.Я разрешил файлу .ashx, который обрабатывал загрузку, анонимную авторизацию в веб-конфигурации, и больше никаких проблем не возникло.
<location path="UploadifyUploadHandler.ashx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>