Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

gzip и zlib   Найти похожие ветки 

 
Morgoth   (2005-09-12 08:55) [0]

Добрый день!
Я обращаюсь из своей программы к скрипту на php, он возвращает мне строку, сжатую с помощью gzip, я пытаюсь ее разжать с помощью функций ZLib, но постоянно получаю Data Error.
Может кто сталкивался с такой проблемой и может что-нибудь подсказать?


 
programania ©   (2005-09-13 04:30) [1]

http://programania.com/gzio.zip   99kb


 
SergP ©   (2005-09-13 08:52) [2]


>  Morgoth   (12.09.05 08:55)
> Добрый день!
> Я обращаюсь из своей программы к скрипту на php, он возвращает
> мне строку, сжатую с помощью gzip, я пытаюсь ее разжать
> с помощью функций ZLib, но постоянно получаю Data Error.
> Может кто сталкивался с такой проблемой и может что-нибудь
> подсказать?


Я сталкивался... но обошел проблему таким образом:

Я на сервере сжимаю  не gzencode() а функцией gzcompress()

тогда в клиенте разжимаю так:

function Unpack(inpStr:string):string;
var
 OutBuf: Pointer;
 OutBytes: Integer;
 outstream:TStringStream;
begin
 OutStream:=TStringStream.create("");
 OutBuf := nil;
 try
   try
     DecompressBuf(pointer(InpStr), length(InpStr), 0, OutBuf, OutBytes);
     outStream.Write(OutBuf^, OutBytes);
   finally
     if OutBuf <> nil then FreeMem(OutBuf);
   end;
 outStream.Position := 0;
 Result:=outstream.DataString;
 finally
   OutStream.Free;
 end;
end;


 
SergP ©   (2005-09-13 09:13) [3]

Разумеется что это применимо только если серверная часть твоя.


 
Slym ©   (2005-09-13 09:57) [4]

Смотри исходники Indy там есть такое


 
Slym ©   (2005-09-13 10:00) [5]

IdCompressorZLibEx


 
Morgoth   (2005-09-14 13:25) [6]

серверная часть моя, я тоже пробовал gzcompress(), но ошибка оставалась.
а DecompressBuf нету, версия наверное старая, попробую новую поискать или исходники Indy посмотреть
всем спасибо за подсказку


 
SergP.   (2005-09-16 07:58) [7]


> Morgoth   (14.09.05 13:25) [6]
> серверная часть моя, я тоже пробовал gzcompress(), но ошибка
> оставалась.
> а DecompressBuf нету, версия наверное старая, попробую новую
> поискать или исходники Indy посмотреть
> всем спасибо за подсказку


Ну у меня zlib тот, который шел с d6...  так там есть DecompressBuf

И еще... А ты на всякий случай сохрани получаемые данные в файл а потом посмотри их... Может там что-то не то...



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
14-1133480371
NeoMax
2005-12-02 02:39
2005.12.25
Монитор


3-1131295247
Michael5
2005-11-06 19:40
2005.12.25
Подскажите, незаполненные поля БД увеличивают размер файла или не


2-1133880654
Максим
2005-12-06 17:50
2005.12.25
Помогите перевести код из Turbo Pascal в Delphi.


8-1121870223
race1
2005-07-20 18:37
2005.12.25
RGB значение


2-1133791634
Квэнди
2005-12-05 17:07
2005.12.25
Проблемы с отправкой почты