Einzelnen Beitrag anzeigen

stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#1

binären Inhalt z.b PDF in einen String laden

  Alt 8. Aug 2023, 11:15
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;
  Mit Zitat antworten Zitat