Файл, прочитанный из ответа сайта, не полностью соответствует фактическому файлу - PullRequest
2 голосов
/ 02 апреля 2012

При попытке прочитать содержимое файла 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 голосов
/ 25 апреля 2012

Возможно, вам придется немного понюхать HTTP-запросы. Для этого полезна вкладка «Сеть» в инспекторе Chrome. В частности, проверьте заголовок Content-Length, который возвращает сервер. Это говорит 573 или 564 байта? Также проверьте заголовок Content-Type - он должен быть application/zip.

Если вы обнаружите несоответствие в каком-либо из этих значений, вероятно, вам нужно настроить сервер. Вы пытались переместить ваши файлы на другой сервер?

...