从站点的响应中读取的文件与实际文件不完全匹配

时间:2012-04-02 15:03:42

标签: javascript jquery ajax byte

尝试将zip文件的内容读入变量时(使用javascript& ajax), 我得到的字节少于下载文件时的字节数。

例如:文件大小为573字节,但读取内容后变量的长度为564。

这是我的请求代码:

getRequest : function(Url, params, _success, _error) {
        var Url = Url;
        var paramsString = this.encodeParams(params);
        if (ParamsString != "") {
            Url = Url + "?" + ParamsString;
        }
        var RequestHeaders = this.getHeaders();

        $.ajax({
            type : "GET",
            url : Url,
            headers : RequestHeaders,
            success : function(data, textStatus) {
                _success(data);
            },
        error : function(jqxhr, textStatus, errorThrown) {
            _error(jqxhr.responseText);
            }
    });
}

保存到变量:

getRequest(url,{},
    function(data){zipContents=data},
    function(data){alert(data)});

感谢任何帮助,找出发生这种情况的原因。

由于

1 个答案:

答案 0 :(得分:0)

您可能需要对HTTP请求进行一些嗅探。 Chrome检查器中的“网络”选项卡对此非常有用。 特别是,检查服务器返回的Content-Length标头。它说573还是564字节? 另请检查Content-Type标题 - 它应为application/zip

如果发现这些值中的任何一个不匹配,则可能是需要配置的服务器。您是否尝试过将文件移至另一台服务器?