문제
나는 Uploadify를 사용하고 있으며 이전에 지금 작동했던 것은 그렇지 않으며 그 이유는 확실하지 않습니다. 업로드를 클릭 할 때마다 HTTP 오류가 반환됩니다. Firefox의 Net 탭을 보면 서버로 다시 보내는 것도 보이지 않습니다.
디버그를 돕기 위해 오류 함수를 넣으려고했지만 상태 속성은 정의되지 않았습니다.
$("#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는 web.config 파일의 이전 기본 로그인 URL의 결과였습니다.
이 문제를 해결하면 사이트가 로그인 페이지로 리디렉션되면서 404가 302 (IIS 로그를보고 있음)가되었습니다.
내 업로드 스크립트는 사이트의 인증 된 영역에 있으므로이 사이트에 설명 된 내용을 사용해야했습니다.
다른 팁
Firefox/Chrome에서만 302 오류가 발생했습니다. IE8은 잘 작동했습니다. 문제는 Netscape가 이제 파일 포스트 백으로 인증 쿠키를 보내고 있다는 것입니다. 웹 구성에서 익명 인증을 업로드 한 .ASHX 파일을 허용했으며 더 이상 문제가 없었습니다.
<location path="UploadifyUploadHandler.ashx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
제휴하지 않습니다 StackOverflow