![]() |
HTTP Post-Request mit Dateiupload
Liste der Anhänge anzeigen (Anzahl: 1)
Das senden eines POST-Request, der auch eine Datei enthält kann man die Indy-Komponenten und die Klasse im Anhang verwenden.
Delphi-Quellcode:
Hoffe es hilft einigen weiter und viel Erfolg damit!
var
MultiPartFormDataStream: TMsMultiPartFormDataStream; HttpServer, Response: String; begin // Objekte instanzieren MultiPartFormDataStream := TMsMultiPartFormDataStream.Create; try // Content-Type bestimmen httpMain.Request.ContentType := MultiPartFormDataStream.RequestContentType; // Formular-Felder setzen, die keine Dateien sein sollen MultiPartFormDataStream.AddFormField('EinAnderesFeld', 'dadum'); // ... // Datei laden MultiPartFormDataStream.AddFile('meine_datei', 'C:\autoexec.bat', ''); // diese Methode muss _vor_ dem Senden augerufen werden MultiPartFormDataStream.PrepareStreamForDispatch; MultiPartFormDataStream.Position := 0; try // Anfrage abschicken, hier halt z.B. "deine" PHP-Datei hinsetzen Response := httpMain.Post('http://www.microsoft.com/test.php', MultiPartFormDataStream); except // Upload fehlgeschlagen, entsprechend reagieren end; end; finally MultiPartFormDataStream.Free; end; end; |
Re: HTTP Post-Request mit Dateiupload
Hier noch eine Beispiel-PHP-Datei, die alle (Text-)Variablen, die übergeben wurden in einer Datei call.txt schreibt und alle Dateien, die hochgeladen wurden im aktuellen Verzeichnis mit file_<nummer> ablegt. Zu beachten ist
Code:
<?php
// POST-Variablen in Datei call.txt schreiben $fp = fopen('call.txt', 'w+'); if ($fp) { foreach($_POST as $Var => $Val) fputs($fp, $Var.' = '.$Val."\n\r"); fclose($fp); } // Alle hochgeladenen Dateien ablegen $i = 1; foreach($_FILES as $File) { if (!$File['error'] and move_uploaded_file($File['tmp_name'], 'file_'.$i)) echo 'Datei-Upload erfolgreich ('.$i.') '."\n\r"; else echo 'Datei-Upload Fehler ('.$i.') '."\n\r"; $i++; } ?> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz