Hallo Leute,
ich habe auf der Web-Site "http://www.matlus.com/" unter Tutorials ein Beispiel gefunden -> SOAP und transfer von Dateien. Nun habe ich das auch auf einen Linux Server mit Kylix als Server und unter WindowsXP und in Delphi 7 den Client laufen. Den Inhalt eines Verzeichnisses anzeigen und eine Datei downloaden klappt auch super. Was ich aber nicht hin bekomme ist den Upload zum Server. Ich habe eigentlich keine Erfahrung mit Streams und weis auch nicht wo jetzt das Problem genau liegt. Es kommt keine Fehlermedung. Auf dem Server wird die Datei angelegt, aber nur 4 Byte Größe. Hat einer 'ne Idee?
Funktion im Client
procedure TForm1.Button3Click(Sender: TObject);
var
ByteDynArray:TByteDynarray;
MemStream:TMemoryStream;
begin
if edit1.text<>'' then
begin
MemStream:=TmemoryStream.create;
try
MemStream.loadfromfile(edit1.text);
setlength(bytedynarray,memstream.size);
memstream.position:=0;
memstream.read(bytedynarray[0],memstream.size);
GetIFileTransfer.UploadFiletoServer('Test12354.pdf ',Bytedynarray);
finally
Memstream.free;
end;
end;
end;
Procedure auf dem Server:
procedure TFileTransfer.UploadFileToServer(const FileName: WideString;
const FileData: TByteDynArray);
var
MemStrm: TMemoryStream;
begin
MemStrm := TMemoryStream.Create;
try
MemStrm.Write(FileData[0], SizeOf(FileData));
MemStrm.Position := 0;
MemStrm.SaveToFile(Format('%s/%s', ['/upload', FileName]));
finally
MemStrm.Free;
end;
end;
Danke schon mal im vorraus!
Holger
ich habe auf der Web-Site "http://www.matlus.com/" unter Tutorials ein Beispiel gefunden -> SOAP und transfer von Dateien. Nun habe ich das auch auf einen Linux Server mit Kylix als Server und unter WindowsXP und in Delphi 7 den Client laufen. Den Inhalt eines Verzeichnisses anzeigen und eine Datei downloaden klappt auch super. Was ich aber nicht hin bekomme ist den Upload zum Server. Ich habe eigentlich keine Erfahrung mit Streams und weis auch nicht wo jetzt das Problem genau liegt. Es kommt keine Fehlermedung. Auf dem Server wird die Datei angelegt, aber nur 4 Byte Größe. Hat einer 'ne Idee?
Funktion im Client
procedure TForm1.Button3Click(Sender: TObject);
var
ByteDynArray:TByteDynarray;
MemStream:TMemoryStream;
begin
if edit1.text<>'' then
begin
MemStream:=TmemoryStream.create;
try
MemStream.loadfromfile(edit1.text);
setlength(bytedynarray,memstream.size);
memstream.position:=0;
memstream.read(bytedynarray[0],memstream.size);
GetIFileTransfer.UploadFiletoServer('Test12354.pdf ',Bytedynarray);
finally
Memstream.free;
end;
end;
end;
Procedure auf dem Server:
procedure TFileTransfer.UploadFileToServer(const FileName: WideString;
const FileData: TByteDynArray);
var
MemStrm: TMemoryStream;
begin
MemStrm := TMemoryStream.Create;
try
MemStrm.Write(FileData[0], SizeOf(FileData));
MemStrm.Position := 0;
MemStrm.SaveToFile(Format('%s/%s', ['/upload', FileName]));
finally
MemStrm.Free;
end;
end;
Danke schon mal im vorraus!
Holger