Javascript 从站点响应读取的文件与实际文件不完全匹配
尝试使用javascript和ajax将zip文件的内容读入变量时, 我得到的字节比下载文件时少 例如:文件大小为573字节,但读取内容后变量的长度将为564字节 这是我的请求代码:Javascript 从站点响应读取的文件与实际文件不完全匹配,javascript,jquery,ajax,byte,Javascript,Jquery,Ajax,Byte,尝试使用javascript和ajax将zip文件的内容读入变量时, 我得到的字节比下载文件时少 例如:文件大小为573字节,但读取内容后变量的长度将为564字节 这是我的请求代码: getRequest : function(Url, params, _success, _error) { var Url = Url; var paramsString = this.encodeParams(params); if (ParamsString !
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)});
如果您能帮我找出原因,我将不胜感激
谢谢您可能需要对HTTP请求进行一些嗅探。Chrome inspector中的“网络”选项卡对此很有用。 特别是,检查服务器返回的内容长度头。是573字节还是564字节? 还要检查内容类型标题-它应该是application/zip
如果发现这些值中的任何一个不匹配,则可能是服务器需要配置。您是否尝试过将文件移动到另一台服务器?您可能需要对HTTP请求进行嗅探。Chrome inspector中的“网络”选项卡对此很有用。 特别是,检查服务器返回的内容长度头。是573字节还是564字节? 还要检查内容类型标题-它应该是application/zip
如果发现这些值中的任何一个不匹配,则可能是服务器需要配置。您是否尝试将文件移动到另一台服务器?将加载的文件保存到内存中时会发生什么情况?这是一个有趣的问题,由于10字节的数据不多,我猜可能有一些元数据与windows中的文件相关,当您在应用程序中加载该文件时,这些元数据没有被读入。换行符是否会有一些差异?@Purplegoldfish-当我将其保存到内存时,我得到了正确的字节计数。@jfriend00-我认为服务器是正确的基于linux和我下载到一个windows。你认为我应该试着将文件下载到基于linux的机器上,看看是否有什么不同吗?将文件下载到linux机器上时,文件大小为573,与Windows中的大小相同…将加载的文件保存到内存中时会发生什么情况?这是一个有趣的问题,由于10字节的数据不多,我猜可能有一些元数据与windows中的文件相关,当您在应用程序中加载该文件时,这些元数据没有被读入。换行符是否会有一些差异?@Purplegoldfish-当我将其保存到内存时,我得到了正确的字节计数。@jfriend00-我认为服务器是正确的基于linux和我下载到一个windows。你认为我应该试着将文件下载到基于linux的机器上,看看是否有什么不同吗?将文件下载到linux机器上时,文件大小是573,与Windows中的大小相同。。。