Ich stelle mich glaube ich gerade etwas unfähig an.
Ich versuche eine Binäre Datei (z.b PDF,JPG) in einen String zu laden und bekomme nur Teile davon eingelesen.
Ich denke mein Lösungsansatz ist verkehrt.
Was ich machen muss.
Ein Drittanbieter mit welchem wir zusammenarbeiten will per REST-
API den Dateiinhalt binär übertragen bekommen.
Allerdings mit einem Boundary drumherum im Body
also z.b
Code:
--__BOUNDARY__--
%PDF-1.3
1 0 obj
<</Type/Catalog/PageLayout/SinglePage/Pages 3 0 R>
.
.
.
--__BOUNDARY__--
Ich habe mehrere Wege probiert z.b
Code:
function LoadFileToString(const FileName: string): ansistring;
var FileStream: TFileStream;
begin
FileStream := TFileStream.Create(FileName, fmOpenRead);
try
SetLength(Result, FileStream.Size);
FileStream.Read(Pointer(Result)^, FileStream.Size);
finally
FileStream.Free;
end;
end;
function BinaryoString(const filePath: string): string;
var fs: TFileStream;
ms: TMemoryStream;
begin
fs := TFileStream.Create(filePath, fmOpenRead);
try
ms := TMemoryStream.Create;
try
ms.CopyFrom(fs, fs.Size);
SetString(Result, PAnsiChar(ms.Memory), ms.Size);
finally
ms.Free;
end;
finally
fs.Free;
end;
end;