4

我在 asp.net Web 应用程序中使用 valums 文件上传器。它与实际上传一样工作正常。但是错误条件检查在 Chrome 和 FF 中无法正常工作。上传程序指向一个名为 fileupload.ashx 的处理程序,该处理程序检查是否已存在同名文件。c#代码如下...

if (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 也会正确返回。任何帮助将不胜感激。

4

1 回答 1

0

我不太清楚为什么 fileupload.ashx 里面有这个代码......

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

这应该是...

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

因为返回值是 JSON 类型。

希望这可以帮助。

于 2012-10-29T02:55:33.090 回答