Bonjour,
Avec une applet je veux envoyer un fichier à une servlet.
Avec HttpsURLConnection je n'ai pas de problème sauf que pour l'envoi du fichier, il envoi réellement le flux seulement au moment du clsoe du OutpuStream ou du getResponseCode().
Les fichiers envoyés étant un peu gros, j'ai des OutOfMemory.
Apperement il s'agit d'un bug qui a été corrigé sur une version de la jdk 1.5
Les utilisateurs pouvant être sur jdk 1.4 je dois trouver une autre solution.
Je suis donc passé à HttpClient. Je n'ai plus de problème de OutOfMemory, par conte dans ma servlet, il ne retrouve pas la session qui a été ouverte précédemment.
Je cherche donc un moyen pour que le HttpClient utilise la session en cours.
Je pense que l'on doit la récupérer dans un paramètre de l'applet, mais je n'ai pas encore trouvé.
Voici le code que j'utilise pour envoyer le fichier :
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Protocol.registerProtocol("https", new Protocol("https", (ProtocolSocketFactory)new SimpleSSLProtocolSocketFactory(), 443)); File fileToSend = new File(vCheminFichierPli); Part[] parts = {new FilePart(fileToSend.getName(), fileToSend) }; PostMethod vPost = new PostMethod(url); vPost.setRequestEntity(new MultipartRequestEntity(parts,vPost.getParams())); HttpClient vClient = new HttpClient(); vClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); int vCodeHTTP = vClient.executeMethod(vPost);
Dorian
Partager