Simuler un input file dans un applet

cs_lulu42 Messages postés 10 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 4 mars 2010 - 25 juin 2007 à 17:03
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 28 juin 2007 à 12:58
Bonjour à tous !

    J'ai besoin de vos lumière car j'ai besoin de simuler le fonctionnement d'un dans un applet java. En fait mon applet créé une sorte de fichier XML en mémoire, qu'il faut que j'envoie à un script PHP (qui lui se chargera de le traiter - le fichier XML décrit une sorte de programme conçu en Grafcet).

J'ai déjà examiné les trames TCP/IP avec un sniffer réseau. Comment puis-je les reproduire avec mon applet ? Ou alors, mon applet peut - il submiter un formulaire contenant un invisible ?

Si j'ai tout faux, quelles solutions me proposez-vous ? (C'est assez urgent)

Merci d'avance !

5 réponses

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 18
26 juin 2007 à 10:47
Si ton idée est de transmettre "une sorte de fichier xml" vers un script php qui renverra quelquechose en échange (un dessin , un texte, etc..), tu peux utiliser l'objet XmlHttpRequest pour envoyer tes données (en POST) et récupérer le résultat du traitement par ton script.

http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
0
cs_lulu42 Messages postés 10 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 4 mars 2010
27 juin 2007 à 11:33
Le problème est bien là : je développe une applet JAVA, et non une classe javascript !
Je connais la methode HTTPRequest en JS, mais moi je voudrais faire la même chose en JAVA 1.4 compilé !
0
cs_lulu42 Messages postés 10 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 4 mars 2010
27 juin 2007 à 11:45
J'ai trouvé cette approche :
    http://forum.java.sun.com/thread.jspa?threadID=645830

Mais le problème c'est que ça envoie une chaine, moi c'est un fichier XML que je dois envoyer.
Ce fichier est rappatrié dans les fichiers temporaires du serveur PHP et est traité de suite (interprété, et certaines valeurs sont sauvegardées dans une base de données MySQL). Dès que cela est fait, le serveur PHP le supprime automatiquement à la fin du script.

Il est donc impératif que l'envoie se fasse bien sous la forme d'un input file simulé, et à vrai dire, c'est un vrai casse tête, l'envoie de faisant dans l'header.

Voici un exemple d'un début de trame sniffée lors de l'envoie d'un fichier via un formulaire de test des fonctions PHP de rapatriement :

Content-Type: multipart/form-data; boundary=---------------------------39242043611445
Content-Length: 48042

-----------------------------39242043611445
Content-Disposition: form-data; name="fichier"; filename="Business_Example.xpdl"
Content-Type: application/octet-stream
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 18
27 juin 2007 à 20:49
Un flux xml peut très bien ne contenir aucun code de retour à la ligne. Il peut être constitué d'une seule et longue chaine. Ce sont les balises qui servent à structurer l'information.
Si tu tiens à tout faire en java, tu peux peut être utiliser ta solution. Elle me semble très alambiquée (fichiers temporaires du serveur) et même curieuse (écriture des données dans l'entête du message? tu as bien lu ?) pour une simple requête.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 18
28 juin 2007 à 12:58
il y a une autre solution :
tu installes la librairie httpclient. Elle te permettra d'envoyer et de recevoir facilement tout type de requete http.
0