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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?