Thread FTP Download (47 answers)
Opened by volker.55211 at 2019-03-18 16:20

Linuxer
 2019-03-25 18:02
#189934 #189934
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Naja, man könnte so ein CGI-Skript auch etwas anders gestalten:

Anstatt den Download-Dialog quasi zu erzwingen, liefert man einfach nur den Header und die Daten aus.
Man lässt also die Angabe "-attachment" weg.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /usr/bin/env perl
use strict;
use warnings;

use CGI;

my $fake_filename = "x.png";

my $cgi = CGI->new();
print $cgi->header(
    '-type'       => 'image/png',
);

# let's assume, generate_png() generates a valid PNG data stream
print generate_png();


Wenn das der Browser kann (entweder selber oder per Erweiterung (z.B. bei PDF), stellt er es direkt dar.
Wenn nicht, sollte er ein Downloadfenster anbieten.

Mit anderen Tools könnte man dann auch direkt abspeichern lassen:
Unter Linux könnte man z.B. einen Cronjob definieren, der beispielsweise per wget die Daten abholt.
Code: (dl )
wget -O /path/to/report.pdf http://example.org/cgi-bin/skript.pl 


Hintergedanke, egal ob mit oder ohne Cronjob:
- Das CGI-Skript löst die Generierung des PDF direkt aus und liefert es als solches auch gleich aus.
- Der aufrufende Browser (oder wget wie im Beispiel) nimmt den Datenstrom entgegen und legt ihn wie angegeben ab.

Sowas müsste man dann analog auf Windows einsetzen. Keine Ahnung, was man da auf Windows nehmen kann.


Alternativer Gedanke:

Mit rsync (jedenfalls unter Linux) über ssh lässt man die Remote-Daten in ein lokales Verzeichnis spiegeln.
Wenn sich die Dateien auf dem Server nicht verändert haben, dann werden nur die "Meta-Daten" zur Bestimmung, ob sich was geändert hat, übertragen. Wenn sich Dateien verändert haben, werden diese übertragen.

Setzt voraus, dass Dein Server per SSH erreichbar wäre, rsync unterstützt und ob rsync für Windows verfügbar ist (oder ein Clon das bereitstellt).
SSH würde ich einsetzen, um eine verschlüsselte Übertragung zu gewährleisten.


Unter Umständen hast Du mit Deiner FTP Sync Lösung bereits die für Dich passende Lösung gefunden.
Last edited: 2019-03-25 18:04:38 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread FTP Download