Autor Beitrag
jf_stgt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 28.10.09 18:57 
Hallo zusammen,

für ein Projekt wollen wir Kunden die Möglichkeit geben, dass sie Dateien (Größe max. 1 MB) uploaden (auf einen Internetserver).
Mittels eines anderen Softwaremoduls könnten diese dann von anderen Mitarbeitern heruntergeladen werden.
Die Dateien könnte man ja vor dem Upload verschlüsseln.
Der Name etc. würde in einer Internet-DB gespeichert.
Ich sehe dazu prinzipiell mehrere Möglichkeiten:

a) FTP-Zugang.
Vorteil: Einfach zu machen
Nachteil: FTP Kennúngen stehen in der exe. Dies finde ich etwas unschön. v.a. wenn alle Kunden dann den gleichen FTP Zugang nutzen würden, ...

b) Mittels HTTP-POST mit PHP Skript
Vorteil: Authentifikation und Eintragen von Infos in eine Datenbank könnte auch über das PHP Skript laufen.
Nachteil: Große Dateien können nicht(?) mit Fortschrittsbalken versehen werden, ...

c) Extra Listen-Skript auf dem root Server
Nachteil: Oversized ;-)

d) ???

Mir geht es darum welches Prinzip ihr verfolgen würdet und warum?
Also bitte keine Code-Snippets sondern erst mal das Prinzip.

Gruß
jf_stgt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 28.10.09 19:00 
Moin!

user profile iconjf_stgt hat folgendes geschrieben Zum zitierten Posting springen:
b) Mittels HTTP-POST mit PHP Skript
Vorteil: Authentifikation und Eintragen von Infos in eine Datenbank könnte auch über das PHP Skript laufen.
Nachteil: Große Dateien können nicht(?) mit Fortschrittsbalken versehen werden, ...
Warum sollte das nicht gehen? *klick* :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 28.10.09 20:36 
@user profile iconNarses: Z.B. weil für Postdaten einige Server eine Begrenzung drin haben, dass Post-Daten nicht größer als X MB sein dürfen? Zudem sind POST-Requests zum Uppen großer Dateien blöd. Dann lieber über WebDAV mit PUT+PATCH-Requests ;-) Dann kann man die nämlich ggf. splitten bzw. auch "fortsetzen" ... Zumal dann sogar synchronisiertes Arbeiten beim Upload möglich wird (LOCK Requests).

Aber das nur nebenbei.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 28.10.09 20:50 
user profile iconjf_stgt hat folgendes geschrieben Zum zitierten Posting springen:
Nachteil: Große Dateien können nicht(?) mit Fortschrittsbalken versehen werden, ...

Soll das ganze im Browser oder in einer Client-Anwendung passieren?
Bei letzterem kennst du ja den TCP-Stream und damit auch wie viel schon übertragen wurde.

user profile iconjf_stgt hat folgendes geschrieben Zum zitierten Posting springen:
Mir geht es darum welches Prinzip ihr verfolgen würdet und warum?
Also bitte keine Code-Snippets sondern erst mal das Prinzip.


Wenn eh beide Seiten ein Client-Programm verwenden würde ich durchaus FTP nehmen. Immerhin ist es ja dafür da ;)
FTProot-Verzeichnis per Kunde und schon sollte das einigermaßen abgesichert sein.
Eventuell noch ein Webinterface für die Account-Verwaltung, aber das sollte ja machbar sein.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 28.10.09 20:55 
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjf_stgt hat folgendes geschrieben Zum zitierten Posting springen:
Nachteil: Große Dateien können nicht(?) mit Fortschrittsbalken versehen werden, ...

Soll das ganze im Browser oder in einer Client-Anwendung passieren?
Bei letzterem kennst du ja den TCP-Stream und damit auch wie viel schon übertragen wurde.

Der Kernel traced bei TCP generell mit, wie viel Daten bereits an die Gegenstelle gesendet wurden. Den Wert bekommt man von der API abgerufen. Damit ist der Fortschritt noch mit am genausten dargestellt und bei bekannter Übertragungsmenge nahezu trivial darzustellen.

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjf_stgt hat folgendes geschrieben Zum zitierten Posting springen:
Mir geht es darum welches Prinzip ihr verfolgen würdet und warum?
Also bitte keine Code-Snippets sondern erst mal das Prinzip.


Wenn eh beide Seiten ein Client-Programm verwenden würde ich durchaus FTP nehmen. Immerhin ist es ja dafür da ;)
FTProot-Verzeichnis per Kunde und schon sollte das einigermaßen abgesichert sein.
Eventuell noch ein Webinterface für die Account-Verwaltung, aber das sollte ja machbar sein.

FTP gehört getötet, abgeschafft und durch SCP ersetzt.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Mi 28.10.09 21:16 
Danke erstmal an alle.
Ja, es soll eine Delphi-Client-Anwendung sein.
Die Sache mit dem Fortschrittsbalken scheint mir also lösbar.
Die Begrenzung beim Upload via Post sollte auf 4 oder 10 MB stehen - also hier keine so große Rolle spielen.
Gibt es noch andere Ideen?

@BenBE. SCP interessiert mich natürlich auch. Wobei ich denke, dass FTP auch gehen müsste. Gibt es SCP Komponenten?

Gruß
jf_stgt
Manfred
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 90



BeitragVerfasst: Fr 30.10.09 15:00 
Was FTP angeht, so rate ich auch davon ab, da nicht alle Deine Kunden problemlos FTP-Verbindungen öffnen können (Socket-Fehler).

_________________
Computer können schneller rechnen als wir, deshalb machen sie auch mehr Fehler