2009-09-16 8 views
7

私はUploadifyを使用しています。以前は今働いていたものはありません。アップロードをクリックするたびにHTTPエラーが返されます。 Firefoxのネットタブを見ると、サーバーに何かをもう一度送信しているようには見えません。Uploadify not working

任意のアイデアは

$("#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; 
        }, 
      }); 

..私はデバッグを支援するために誤差関数に入れて試してみたが、ステータス属性が定義されていませんか?

答えて

6

OK、私が使用していたエラーデバッグが古く、errorObj.infoと言って、なぜ動作していないのかをより詳細に知ることができると分かりました。

これは404であり、POSTにしようとしているスクリプトが存在していてもピックアップされていないことを意味します。ルーティング問題のように聞こえる...

ケースが閉じられました。

この情報を追加すると、404はweb.configファイルの古いデフォルトのログインURLの結果として表示されます。

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

マイアップロードスクリプトは、サイトの認証済み領域にあるので、私はこのサイト

Using flash with aspnet mvc

+0

フォローアップを送信いただきありがとうございます。私は同じ問題を抱えていて、ちょっとだけ困っていました。 – digitaldreamer

2

に記述されているものを使用するために必要な、私は唯一のFirefox/Chromeで発生した302エラーを受け取りました。 IE8は正常に動作しました。この問題は、Netscapeがファイルのポストバックで認証Cookieを送信していたことが判明しました。アップロードを処理した.ashxファイルをWebコンフィグレーションで匿名の許可にしましたが、それ以上の問題はありませんでした。

<location path="UploadifyUploadHandler.ashx"> 
    <system.web> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
    </system.web> 
</location>