我在asp.net Web应用程序中使用valums fileuploader。这样可以与实际的上传正常工作。但是错误条件检查在Chrome和FF中无法正常工作。上载程序指向名为fileupload.ashx的处理程序,该处理程序检查是否已经存在具有相同名称的文件。 C#代码如下:
如果(File.Exists(Path.Combine(path,fileName)))
{
returnJson =“ {成功:否,错误:'重复文件名'}”;
context.Response.ContentType =“文本/纯文本”;
context.Response.Write(returnJson);
返回;
}
我期望在result.error属性中出现上述错误消息。经过一些JavaScript调试后,我发现此代码适用于IE8,但不适用于Chrome和FF。传输失败时,xhr responseText包含空字符串。
下面给出了valums fileuploader.js的javascript代码段...
xhr.onreadystatechange = function(){
如果(xhr.readyState == 4){
self._onComplete(id,xhr);
}
};
令人惊讶的是,即使上传成功,即使在Chrome和FF中也可以正确返回responseText。任何帮助将不胜感激。
最佳答案
我不太确定为什么fileupload.ashx中包含此代码...
context.Response.ContentType = "text/plain";
这应该是...
context.Response.ContentType = "application/json";
因为返回值是JSON类型。
希望这可以帮助。