我在asp.net web应用程序中使用valums fileuploader。这样的实际上传工作正常。但错误条件检查在Chrome和FF中无法正常工作。上传器指向名为fileupload.ashx的处理程序,该处理程序检查是否已存在具有相同名称的文件。 c#代码如下所示......
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包含空字符串。
来自valums fileuploader.js的javascript片段如下所示......
xhr.onreadystatechange = function() { if (xhr.readyState == 4) { self._onComplete(id, xhr); } };
令人惊讶的是,当上传成功时,即使在Chrome和FF中也能正确返回responseText。任何帮助将不胜感激。
答案 0 :(得分:0)
我不太清楚为什么fileupload.ashx里面有这个代码......
context.Response.ContentType = "text/plain";
这应该是......
context.Response.ContentType = "application/json";
因为返回值是JSON类型。
希望这会有所帮助。