4

asp.net Webアプリケーションでvalums fileuploaderを使用しています。実際のアップロードと同様に正常に動作しています。しかし、ChromeとFFでは、エラー状態のチェックが正しく機能していません。アップローダーは、同じ名前のファイルがすでに存在するかどうかを調べるfileupload.ashxというハンドラーを指しています。 C#コードは以下の通りです。バルスファイルアップローダxhrがステータス0、読み取り4、レスポンステキスを返します。

 
if (File.Exists(Path.Combine(path, fileName))) 
{ 
    returnJson = "{success:false, error:'Duplicate filename'}"; 
    context.Response.ContentType = "text/plain"; 
    context.Response.Write(returnJson); 
    return; 
} 

上記のエラーメッセージは、result.errorプロパティで予想されます。いくつかのjavascriptのデバッグ後、私はこのコードがIE8ではうまく動作するが、ChromeとFFではうまく動作しないことがわかった。 xhr responseTextには、転送が失敗した場合のnull文字列が含まれています。 valumsのfileuploader.jsから

JavaScriptのスニペットは、アップロードが成功したときに

 
xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4) { 
     self._onComplete(id, xhr); 
    } 
}; 

は驚くべきことに、responseTextでもChromeとFFで返さ適切にされています...以下のとおりです。どんな助けでも大歓迎です。

+0

Ajax Control ToolkitのAsyncFileUploadコントロールは、一度に1つのファイルをアップロードしたいと思っていると仮定すると、ASP.Netにとって便利です。 –

答えて

0

戻り値の型であるため、私は、これは...

context.Response.ContentType = "application/json"; 

でなければなりません...

context.Response.ContentType = "text/plain"; 

なぜfileupload.ashxがそれで、このコードを持っている非常にわからないんだけどJSON。

これが役に立ちます。

関連する問題