Как я могу сохранить файл REST.Response.Content PDF без его развращения? После сохранения я запускаю PDF и получаю только белый экран. Без содержания.Delphi REST.Client download corrupted PDF
client.BaseURL := URL;
req.Params.Clear();
req.ClearBody();
req.Method := TRESTRequestMethod.rmGET;
try
req.Execute();
except
on e: ERESTException do
begin
//TODO: Error
end;
end;
В req.response.content У меня есть PDF в строке. Но всегда, когда я пытаюсь его сохранить, он поврежден.
// Редактировать
function TPDF.saveFile(): TResult;
var
file: TStringStream;
f: TFileStream;
len: integer;
bytes: TBytes;
begin
file := TStringStream.Create();
file.WriteString(response.Content);
//f := TFileStream.Create(fileName, fmCreate);
bytes := TEncoding.ANSI.GetBytes(response.Content); //i am tryied ANSI, UNICODE, UTF8
//f.ReadData(bytes, response.ContentLength);
//f.Position := 0;
//f.WriteData(bytes, response.ContentLength);
file.WriteData(bytes, response.ContentLength);
file.SaveToFile(fileName);
// TFile.WriteAllBytes(fileName, bytes);
// file.SaveToFile(fileName);
result := setResult(kbOK);
end;
Можете ли вы также показать код для сохранения Response.Content в .pdf-файле? – mjn
PDF - это двоичный формат, вы не можете хранить его в строке как есть. –
@DalijaPrasnikar правильно, однако контент может быть закодирован base64, и мы еще не знаем ... теперь мы знаем :) – mjn