2012-04-02 3 views
2

zip 파일의 내용을 (javacript & 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)}); 

왜 이러한 일이 발생하는지 알아내는 데 도움이됩니다. 당신은 아마이

감사

+0

메모리에로드 한 파일을 저장하면 어떻게됩니까? 흥미로운 질문입니다. 10 바이트는 많은 데이터가 아닙니다. 응용 프로그램에서 파일을로드 할 때 읽어 들이지 않는 윈도우의 파일과 연관된 메타 데이터가있을 수 있습니다. – Purplegoldfish

+0

줄 바꿈 문자에 약간의 차이가있을 수 있습니까? ? – jfriend00

+0

@Purplegoldfish - 메모리에 저장할 때 올바른 바이트 수를 얻습니다. – shuki

답변

0

는 HTTP 요청에 스니핑 일부를 할 수 있습니다. Chrome 관리자의 네트워크 탭은 유용합니다. 특히 서버가 반환하는 Content-Length 헤더를 확인하십시오. 그것은 573 또는 564 바이트라고합니까? Content-Type 헤더도 확인하십시오. application/zip이어야합니다.

이러한 값이 일치하지 않으면 구성이 필요한 서버 일 가능성이 큽니다. 파일을 다른 서버로 옮겨 보았습니까?

관련 문제