7

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;
                    },
            });

何か案は?

4

2 に答える 2

6

OK、私が使用していたエラーデバッグは古いものであり、errorObj.infoと言って、それが機能しない理由に関するより詳細な情報を取得できることがわかりました。

これを行ったところ、404であることがわかりました。これは、POSTしようとしているスクリプトが存在していても、それが取得されていないことを意味します。ルーティングの問題のようですね...

名探偵コナン!

これについてさらに情報を追加するだけです。404は、web.configファイルの古いデフォルトのログインURLの結果でした。

これを修正すると、サイトがログインページにリダイレクトしていたため、404は302になりました(IISログを参照)。

私のアップロードスクリプトはサイトの認証された領域にあるので、このサイトで説明されているものを使用する必要がありました

aspnetmvcでフラッシュを使用する

于 2009-09-16T22:24:48.817 に答える
2

Firefox / Chromeでのみ発生する302エラーを受け取りました:IE8は正常に動作しました。問題は、Netscapeがファイルのポストバックとともに認証Cookieを送信していたことであることが判明しました。Web設定で匿名認証のアップロードを処理する.ashxファイルを許可しましたが、それ以上の問題はありませんでした。

<location path="UploadifyUploadHandler.ashx">
  <system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
  </system.web>
</location>
于 2011-03-26T23:06:44.587 に答える