Datei-Upload mal anders - geht das mit GET-Variablen?

DerRobert

Grünschnabel
Hallo Leute,

ich sitze gerade an einem Projekt, in dem es möglich sein soll, von einem Windows-Client (in C# geschrieben) Dateien zu einem Web-Portal (PHP/MySQL basiert) hochzuladen. Nun ist das ja insofern schwierig, als das der altbekannte Weg die Dateien per HTML Formular hochzuladen nicht funktionieren wird, da der User im Client nur die Datei wählen soll, und anschließend der Client die arbeit übernehmen soll, diese Datei an das Portal zu schicken.
Dadurch fällt also die Möglichkeit weg die Informationen aus dem $_FILES array zu nehmen. Zumindest direkt.

Gibt es eine Möglichkeit die Dateien evtl. per GET hochzuladen? Also sprich, ein Skript intern aufzurufen und einfach den Pfad o.ä. per Variable zu übergeben, damit das dann behandelt werden kann? Oder ist das der falsche Ansatz und es sollte ganz anders gehen?

Würde mich über ein paar Ideen und Anregungen freuen.

Gruß Der Robert

[edit]
PS: Oder geht das per PERL
[/edit]
 
Zuletzt bearbeitet:
Das mit JS ist Schwachsinn..
Wenn du das in C machst, kannst du ja die Verbindung zum Server beliebig beeinflussen, schau doch mal im HTTP-Standard nach, wie es da vorgeschrieben ist, dann solltest du auch auf $_FILES zugreifen können.
Alternativ könnte man ja einen zusätzlichen FTP-User anlegen und den Transfer darüber abwickeln.
 
zunächst mal danke für die schnelle antwort, aber ich habe wohl nicht deutlich genug hervorgehoben, dass der Client in diesem Fall kein Browser ist.

Es ist ein selbstgeschriebener Client, der das Skript im Hintergrund aufrufen soll und während der Bearbeitung eine Fortschrittsanzeige einblendet. Der User des Clients sieht also nicht, was passiert, sondern wartet, bis der Client sagt "Fertig" :)

War mein Fehler, hätte ich sagen sollen. Also Ideen mit JavaScript fruchten deswegen hier nicht :)


Ich habe jetzt schon im Web ein Posting gefunden, dass Dateiupload per GET wohl definitiv nicht geht. Da Ihr jetzt ja wißt, was genau ich machen will, lasse ich das mal drin hier, vielleicht hat ja einer trotzdem noch ne andere Idee :)

Nochmal Gruß

Der Robert
 
@ timbonet: FTP sollte möglichst umgangen werden und auf nicht ganz so native Protokolle angehoben werden... deswegen die PHP Idee. Könntest Du mir evtl. nen guten Link geben, bei dem ich mich über das entsprechende "manipulieren" der HTTP Header Infos schlau machen kann?

Danke für die Antwort
 
danke für den RFC-Link... viel zu lesen :)
werde mich da mal durchwurschteln...

Wenn ich noch Fragen habe, kann ich Dich dann nochmal anschreiben
 
Kleiner Tipp für solche Angelegenheiten: Du weißt, dass es ein Programm gibt (Browser), das die gewünschte Funktionalität hat (Dateiupload), und du weißt auch, wo diese Funktionalität beschrieben wird (RFC). Was du jetzt noch brauchen könntest, wäre ein konkretes Beispiel, was denn der Browser bei einem solchen Dateiupload an den Server schickt.

Die Lösung des Problems heißt Ethereal und ist ein Netzwerküberwachungstool. Damit kannst du den Datenverkehr zwischen Browser und Server abfangen und anzeigen lassen. Also im Prinzip: Ethereal-Aufzeichnung starten, Dateiupload vollziehen, wieder in Ethereal an die Analyse gehen. Damit hast du dann schon mal ein funktionierendes Beispiel vor dir liegen und kannst danach gezielt nach einzelnen Stichpunkten (bestimmte Header z.B.) in der RFC oder anderswo suchen.

In dem Sinne: viel Erfolg noch bei deinem Vorhaben :)
 
Zurück