Yop
Je me demandais si on pouvais uploader un fichier sur un site , sans simulation de clicke ou autre du genre , juste avec les requetes HTTP ??
Si quelqu'un a une idée , je suis preneur .
Merci :)
Version imprimable
Yop
Je me demandais si on pouvais uploader un fichier sur un site , sans simulation de clicke ou autre du genre , juste avec les requetes HTTP ??
Si quelqu'un a une idée , je suis preneur .
Merci :)
Il te faudra un script php ou asp sur le site. Tu envois la requête adequat avec le compo http de ton choix.
http://www.developpez.net/forums/sho....php?t=50059#3
Perso, je l'ai réalisé avec ICS et avec Indy et j'obtiens de meilleures résultats avec HttpCli d'ICS.
Si je retrouve le code, je t'en ferais profiter, à+ ;)
Yop
Merci de ta reponse , mais voila enfaite le site n'est pas le mien , je vise ce genre de sites : http://imageshack.us .
En fait ce que je cherche c'est uploader sur imageshack mais à travers mon appli ( sans passer par leur formulaire ).
Voila merci
Merci , j'etudie ca et je te dis .
Yop
Avec quelques bidouillages j'y arrive , mais la il me faut le lien de l'image ( quand on up , a la fin de l'up le site fournit un lien avec l'image ) , je suppose que je dois utiliser la methode GET , mais je ne vois comment m'y prendre pour afficher la page ou recevoir le resultat ( c'est a dire le lien ) .
Voila mon code ( j'ai pris enregistrersous.com , plus simple a coder que imageshack ) :
MerciCode:
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 procedure TForm1.Button1Click(Sender: TObject); var MultiPartFormDataStream: TIdMultiPartFormDataStream; begin if OpenDialog1.Execute then begin MultiPartFormDataStream := TIdMultiPartFormDataStream.Create; try //"Remplis" la variable "dossier" pour spécifier l'upload dans /test MultiPartFormDataStream.AddFormField('MAX_FILE_SIZE','2000000'); MultiPartFormDataStream.AddFile('Image', OpenDialog1.FileName, 'multipart/form-data'); MultiPartFormDataStream.AddFormField('Titre','test'); MultiPartFormDataStream.AddFormField('enregistrement','ENREGISTRER'); //"Joint" le fichier MultiPartFormDataStream.Position := 0; //Poste ! IdHTTP1.Post('http://www.enregistrersous.com', MultiPartFormDataStream); finally MultiPartFormDataStream.Free; end; end; end;
Comme tu ne possèdes apparemment pas le source du script du serveur, tu ne peux pas savoir si le fait de valider le formulaire en cliquant sur le bouton "host it" va générer un code suplémentaire, ajouter un paramètre dans l'url ou déclencher une fonction Javascript ou tout autre chose que seul le développeur du script peut savoir... Essaye peut-être d'en savoir plus en analysant la source html de ce formulaire, tu verras alors qu'il ya un peu de Javascript... Bref, de toute manière, ces fonctions ne seront pas actionnées par ce code Delphi puisqu'il ne fait pas une simulation de validation de ce formulaire en remplissant les différents champs et en cliquant sur le bouton "host it", mais envoit directement une requête d'upload au serveur. En fait, ce code Delphi simule le plus basique des formulaires d'upload, ni plus, ni moins. En tous les cas, il ne pourra pas éxécuter les fonctions de ce formulaire sans qu'on lui en donne l'ordre.
C'est ce que je me disais aussi , Merci quand meme ;)