Hallo Nikolaus,
Mein Problem ist, dass ich ein Bild von einem Server auf meinem Rechner speichern will. Die Adresse des Bildes ist fest.
Ich habe es mit dem Befehl File::Copy versucht:
Nein, damit geht es nicht. Du willst über eine Verbindung Server-Client etwas "schicken", was begrifflich absolut nichts mit dem Kopieren von Dateien zu tun hat. Was du realisieren willst, ist begrifflich ein "Download". So etwas kannst du stark vereinfacht so umsetzen:
$path_file = "./deinbild.gif";
@data = stat("$path_file");
print "Content-Type: application/octet-stream\n";
print "Content-Length: $data[7];\n";
print "Content-Disposition: attachment; filename=$file\n\n";
print "Cache-Control: private;\n";
open (FILE,"<$path_file");
binmode(FILE);
binmode(STDOUT);
while(defined($outfile = <FILE>)) {
print "$outfile";
};
close(FILE);
Ob der Download allerdings als solcher erkannt wird, liegt im Ermessen des Clients, darauf hast du keinen Einfluss. Du kannst dem Client höchstens einen Inhaltstyp ("application/octet-stream") mitschicken, der ihn zum Download veranlassen sollte, aber nicht muss.
Sollte dir die andere Richtung vorschweben (vom Client zum Server), könnte dir dieses Beispiel helfen:
http://www.thomas-fahle.de/pub/perl/Net/Net_FTP.html#get
Vielleicht hilft's
Siechfred