Autor |
Beitrag |
K.S.M.
      
Beiträge: 82
Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
|
Verfasst: So 07.03.10 18:41
Hallo Delphi-Forum
Ich habe ein Problem, und zwar möchte ich gerne eine binäre Datei mithilfe eines Posts und TidHTTP uploaden. Sie sollte dann in PHP mit
Quelltext 1: 2: 3: 4: 5:
| <?PHP
$_FILE[ 'content' ]
?> |
o. ä. abgerufen werden können. Ich habe leider bisher noch keine vernünftige Lösung gefunden. Weiß jemand, wie man das machen kann oder hat eine Idee?
Liebe Grüße,
K.S.M. 
_________________ "Programmieren ist keine Kunst. Programmieren ist eine Fähigkeit!"
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 07.03.10 18:57
Hast du schonmal nach IdHTTP Post gesucht? Da finden sich schon einige Diskussionen zu dem Thema..
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
K.S.M. 
      
Beiträge: 82
Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
|
Verfasst: So 07.03.10 19:41
Ich hab jetzt was gefunden. Und zwar mit einem "TIdMultiPartFormDataStream". Zwar muss man dafür erst die Datei abspeichern aber es scheint zu funktionieren. Noch sauberer wäre es ja schon, wenn man nicht erst die datei abspeichern müsste...
_________________ "Programmieren ist keine Kunst. Programmieren ist eine Fähigkeit!"
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 07.03.10 19:49
Tja.. Code?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
K.S.M. 
      
Beiträge: 82
Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
|
Verfasst: So 07.03.10 20:02
So es ist jetzt abgeschlossen. Jetzt muss nicht einmal vorher abgespiehcert werden
Hier mein Code:
DELPHI
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| procedure SaveToServer( const aReservator , aURL: String ); var http: TidHttp; ms: TMemoryStream; mfd: TIdMultiPartFormDataStream; begin http := TIdHTTP.Create( nil ); try mfd := TIdMultiPartFormDataStream.Create; try ms := TMemoryStream.Create; try SaveToStream( ms ); mfd.AddObject('Upload', 'xeonlab/timetabeling-filecontainer', ms, 'upload.xtf' ); mfd.AddFormField( 'Destination', aURL ); ShowMessage( http.Post( aReservator, mfd ) ); finally ms.Free; end; finally mfd.Free; end; finally http.Free; end; end; |
PHP
Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| <?PHP if ( isset($_FILES["Upload"]) && isset($_POST["Destination"]) ) { move_uploaded_file( $_FILES["Upload"]['tmp_name'], $_POST["Destination"] ); echo 'Upload von "'. $_POST["Destination"] .'" ('.$_FILES["Upload"]["type"].') erfolgreich.'; }
?> |
Ich hoffe es hilft noch jemandem
Liebe Grüße,
K.S.M.
_________________ "Programmieren ist keine Kunst. Programmieren ist eine Fähigkeit!"
Zuletzt bearbeitet von K.S.M. am So 07.03.10 20:35, insgesamt 2-mal bearbeitet
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 07.03.10 20:22
K.S.M. hat folgendes geschrieben : | Jetzt wird nicht mal mehr |
Hier fehlt die hälfte von nem Satz..
Zu deinem Code: Schau dir mal bitte an, wie man einen MemoryStream bedient..
Delphi-Quelltext
Und WAS da rein geschrieben werden soll, errät Delphi, oder wie?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
K.S.M. 
      
Beiträge: 82
Windows 7 Professional
Delphi 2010, HTML, JavaScript, CSS, PHP, ein wenig C, Flash ActionScript 2.0/3.0, SQL, Assembler
|
Verfasst: So 07.03.10 20:34
Nein, sry, ich hab nicht den vollständigen Code eingestellt. Das ist nämlich eigentlich eine Prozedur eines Objektes. Das besitzt die Funktion "Write( aStream: TStream );" und in der wird dann der Stream gefüllt. Ich mache den Quelltext mal verständlicher.
_________________ "Programmieren ist keine Kunst. Programmieren ist eine Fähigkeit!"
|
|
|