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で返さ適切にされています...以下のとおりです。どんな助けでも大歓迎です。
Ajax Control ToolkitのAsyncFileUploadコントロールは、一度に1つのファイルをアップロードしたいと思っていると仮定すると、ASP.Netにとって便利です。 –