Jak wysłać plik przez formularz www z poziomu Delphi
Może się przydać mniej doświadczonym :) Wskazówke opieram o komponent IdHTTP. Można to potraktować jako uzupełnienie do artu Adama o tym. Teraz kod do wysyłania:
Formularz WWW może tak wyglądać:
jeżeli chcemy jeszcze jakieś inne dane (np. tekstowe) wysłać to używamy metody:
I dalej nie musze tłumaczyć. W taki prosty sposób można wysłać plik na swój serwer, nie łącząc się przez ftp tylko formularz www, lub na kogoś innego (np. 4programmers :))
Zobacz też:
uses IdMultiPartFormData; var src: TIdMultiPartFormDataStream(); //typ do którego dodajemy pliki które chcemy wysłać begin src := TIdMultiPartFormDataStream.Create; src.AddFile(FIELD, PLIK, 'multipart/form-data'); //FIELD - nazwa pola w formularzu na stornie www //PLIK - nazwa pliku jaki chcemy przekopiować HTTP.Post('http://www.mój.com/index.php', src); src.Free; end;
Formularz WWW może tak wyglądać:
<form enctype="multipart/form-data" action="index.php" method="post"> Wskaż plik: <input type="file" name="plik"> <input type="submit" name="wyslij" value=" Wyslij "> </form>
jeżeli chcemy jeszcze jakieś inne dane (np. tekstowe) wysłać to używamy metody:
src.AddFormField(FIELD, VALUE); src.PrepareStreamForDispatch; //w przypadku gdy wysyłamy pliki i inne pola formularza
I dalej nie musze tłumaczyć. W taki prosty sposób można wysłać plik na swój serwer, nie łącząc się przez ftp tylko formularz www, lub na kogoś innego (np. 4programmers :))
Zobacz też:
4 komentarze
zainstalowalem indy z tej strony, ale IdMultiPartFormData nie ma ;(. W googlach tez tego nie ma...
W miejscu tego formularza miał być kod... Ale wyszedł formularz.
//dopisane
thx :)
To zainstaluj wersje 9.0.18