Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mit Delphi eine Datei über ein HTTP Post Formular hochladen? (https://www.delphipraxis.net/93082-mit-delphi-eine-datei-ueber-ein-http-post-formular-hochladen.html)

CRYSTALiZE 31. Mai 2007 13:16


Mit Delphi eine Datei über ein HTTP Post Formular hochladen?
 
Hi :)

Ich wollte 'n kleines Programm schreiben, bei welchem ich zB ne Datei auswähle, auf Upload klicke, und der mir die dann hochläd.
Aber nicht per FTP, sondern - wenn möglich - an eine PHP Seite als POST / FILE..
Das Ergebnis von dieser Seite sollte ich dann auch wieder auslesen können... :)

Geht das irgendwie? Oder muss ich die Datei per FTP hochladen?
Wenn das geht - kann ich irgendwie noch die Übertragungsgeschwindigkeit und die anderen "Sachen" (FileSize, % fertiggestellt und so) herausfinden? (Evtl. einfach berechnen? :D)


MfG.

PS: Ich weiß grad nicht ob das hierhin gehört oder irgendwo anders...

mkinzler 31. Mai 2007 13:17

Re: Mit Delphi eine Datei über ein HTTP Post Formular hochla
 
Benutze mal die Suche nach INDY+Post du wirst überrascht sein, wie oft das gefragt wird.

CRYSTALiZE 31. Mai 2007 13:33

Re: Mit Delphi eine Datei über ein HTTP Post Formular hochla
 
Zitat:

Zitat von mkinzler
Benutze mal die Suche nach IDY+Post du wirst überrascht sein, wie oft das gefragt wird.

Die Suche hat 2 Ergebnisse ergeben.

Habe nach "IDY post" gesucht, es kam ein Thread über MySQL und meiner. :)

mkinzler 31. Mai 2007 13:34

Re: Mit Delphi eine Datei über ein HTTP Post Formular hochla
 
Sollte Indy heißen
[dp]INDY+POST[/dp]

CRYSTALiZE 31. Mai 2007 13:56

Re: Mit Delphi eine Datei über ein HTTP Post Formular hochla
 
Ok ;)


Code:
  MultiPartFormDataStream: TMsMultiPartFormDataStream;




  MultiPartFormDataStream := TMsMultiPartFormDataStream.Create;            
  httpMain.Request.ContentType := MultiPartFormDataStream.RequestContentType;
  MultiPartFormDataStream.AddFormField('EinAnderesFeld', 'dadum');

  MultiPartFormDataStream.AddFile('meine_datei', 'C:\autoexec.bat', '');

  MultiPartFormDataStream.PrepareStreamForDispatch;
  MultiPartFormDataStream.Position := 0;
    Response := httpMain.Post('http://www.microsoft.com/test.php', MultiPartFormDataStream);
  MultiPartFormDataStream.Free;
Diese CodeSchnippsel hab ich mir aus nem Thread da gesucht, aber kann ich irgendwie auch die Geschwindigkeit und den Fortschritt protokollieren / anzeigen? :)

Hab dazu nix gefunden.

MfG.

SirThornberry 31. Mai 2007 14:28

Re: Mit Delphi eine Datei über ein HTTP Post Formular hochla
 
wie immer gibt es dafür das OnWork von TIdHttp. Alternativ kannst du dir auch eine eigene Streamklasse schreiben welche dir den Fortschritt genau liefert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz