Ich muss über
SOAP eine Datei übertragen. Sie wird in einen Widestring geschrieben und das Format soll Base64 sein.
Ich habe es so versucht:
die funktion LoadFile von
hier:
Delphi-Quellcode:
function LoadFile(const FileName: TFileName): string;
begin
with TFileStream.Create(FileName,
fmOpenRead or fmShareDenyWrite) do begin
try
SetLength(Result, Size);
Read(Pointer(Result)^, Size);
except
Result := ''; // Deallocates memory
Free;
raise;
end;
Free;
end;
end;
dann noch Base64Encode aus der
unit von
hier
Dann habe ich es so versucht:
SOAP.File_:=Base64Encode(LoadFile('d:\temp.pdf'));
Nur das
SOAP-Portal sagt mir immer, dass die Datei fehlerhaft wäre. Der Rest der Abfrage mit
SOAP funktioniert soweit korrekt, daher denke ich, dass es ein Fehler beim Erstellen des Strings ist. Ich denke daher, dass ich einen Fehler in dieser Routine habe, nur sehe ich den Fehler einfach nicht.
Vielleicht hat jemand eine Idee, was ich falsch mache
Danke
Chaosworld