IdHTTP paramètre image format multipart/form-data
Bonjour,
J'ai un fichier HTML dans lequel un formulaire permet d'envoyer des paramètres, dont une image. (Dans le but d'envoyer un MMS avec l'API d'Orange). Il fonctionne parfaitement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<html>
<body>
<form action="http://mms.alpha.orange-api.net/mms/sendMMS.xml" method="post" enctype="multipart/form-data">
<p>
<input type="text" name="id" value="Ma clé"/>
<input type="text" name="to" value="Mon numéro"/>
<input type="text" name="content" value="Contenu"/>
<input type="text" name="subject" value="Sujet"/>
<input type="file" name="image"/>
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html> |
Mon objectif est de transcrire cette requête dans delphi. Pour cela j'ai écrit le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
var
zIdHTTP: TIdHTTP;
zMultiPartFormDataStream: TIdMultiPartFormDataStream;
begin
zIdHTTP := TIdHTTP.Create(Application);
zMultiPartFormDataStream := TIdMultiPartFormDataStream.Create;
try
zMultiPartFormDataStream.AddFormField('id','5b481a16ea9');
zMultiPartFormDataStream.AddFormField('to','33687772555');
zMultiPartFormDataStream.AddFormField('subject','sujet');
zMultiPartFormDataStream.AddFormField('content','contenu');
zMultiPartFormDataStream.AddFile('image', 'C:\TEMP\a.jpeg', 'multipart/form-data');
zMultiPartFormDataStream.Position := 0;
showmessage(zIdHTTP.Post('http://mms.alpha.orange-api.net/mms/sendMMS.xml', zMultiPartFormDataStream));
finally
zMultiPartFormDataStream.Free;
zIdHTTP.Free;
end; |
Lorsque j'exécute le code, sans affecter d'image, je reçois le MMS.
Mais avec l'image, j'ai le message ![CDATA[Unauthorized type of join file]] qui apparait.
Quelqu'un aurait-il une idée sur ce problème ? Une piste à explorer ?