J'utilise la classe HttpConnection de J2ME dans mon application BlackBerry pour envoyer des données à un serveur Web. J'ai besoin d'envoyer le contenu d'une image dans le corps de la requête HTTP.L'envoi de données dans le corps de la requête HTTP échoue
C'est ce que je fais
Obtenez les octets du fichier dans un tableau
connexion ouverte HTTP
Set en-tête de type de contenu comme image/jpeg
Récupère le flux de sortie de la connexion
Ecrire les octets dans le flux de sortie
Fermez le flux de sortie et la connexion
Mais l'image n'a pas été envoyé au serveur. Quel pourrait être le problème?
Merci.
EDIT - Ajout de code
HttpConnection conn = null;
OutputStream out = null;
try{
conn = new HttpConnection(Connector.open(myURL));
conn.setRequestProperty("Content-Type", "image/jpeg");
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty("Content-Disposition", "form-data");
conn.setRequestProperty("Connection", "Keep-Alive");
out = conn.openOutputStream;
out.write(buffer, 0, buffer.length);
conn.setRequestProperty("Content-Length", buffer.length);
out.flush();
}
catch(Exception e){
e.printStackTrace();
}
finally{
if(out != null)
out.close();
if(conn != null){
System.out.println("" + conn.getResponseCode());
conn.close();
}
}
EDIT
Le même code, lorsque je tente avec une chaîne, fonctionne très bien et envoie la chaîne au serveur. Mais c'est toujours un problème avec les octets d'image.
Pourrait-il y avoir un problème du côté du serveur? Essayez de télécharger quelque chose avec d'autres moyens, de sorte que vous êtes certain à ce sujet. – kgiannakakis
J'ai essayé cela. Ça marche. Pas de problème avec le serveur – lostInTransit