質問
Uploadifyを使用していますが、以前は機能していたものが機能しなくなり、その理由はわかりません。 [アップロード]をクリックすると、HTTPエラーが返されます。 Firefoxのネットタブを見ると、サーバーに再び何かを送信しているようにも見えません。
デバッグを支援するためにエラー関数を入れようとしましたが、ステータス属性は未定義です。
$("#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;
},
});
アイデアはありますか
解決
OK、私が使っていたエラーデバッグは古く、errorObj.infoと言って、それがなぜ機能していないかについてのより詳細な情報を得ることができることがわかりました。
これを行った結果、POSTを試行しているスクリプトが存在していても、ピックアップされていない404であることがわかりました。ルーティングの問題のように聞こえます...
ケースは閉じられました!
これに関する情報を追加するだけです-404はweb.configファイルの古いデフォルトのログインURLの結果でした。
これを修正すると、サイトがログインページにリダイレクトしていたため、404は302(IISログを見る)になりました。
アップロードスクリプトはサイトの認証された領域にあるため、このサイトに記載されているものを使用する必要がありました
他のヒント
Firefox / Chromeでのみ発生する302エラーを受け取りました。IE8は正常に動作しました。問題は、Netscapeがファイルポストバックで認証Cookieを送信していることでした。アップロードを処理する.ashxファイルをWeb設定で匿名認証を許可しましたが、それ以上の問題はありませんでした。
<location path="UploadifyUploadHandler.ashx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
所属していません StackOverflow