2011-08-01 5 views
-1

Je n'ai pas le code disponible pour le moment, mais je vais décrire ma situation et le code postal plus tard :). Fondamentalement, mon problème est avec le téléchargement de l'image sur le serveur via POST (à partir de l'application de bureau Java/client). J'ai trouvé quelques discussions ici sur ce sujet, mais soit en utilisant des classes org.apache.commons.httpclient, soit en utilisant la classe URLConnection, ou avec des bugs. Cochez cette réponse pour voir ce que j'ai suivi avec le plus de détails possible: Using java.net.URLConnection to fire and handle HTTP requestsApplication Java envoyer via POST (aucun code)

Quoi qu'il en soit, j'ai créé un script php sur mon serveur local qui gère le formulaire avec le téléchargement de fichiers. Je l'ai vérifié à partir d'un fichier html statique créé avec .php. Je l'ai ensuite vérifié sans téléchargement de fichier, et cela fonctionne bien. Cela fonctionne également bien quand j'envoie un fichier texte brut. Cela ressemble à un problème lié à l'encodage. Peut-être qu'un personnage étrange brise mon transfert? Comme je l'ai dit, je vais inclure du code si nécessaire plus tard aujourd'hui, mais je suis intéressé par vos opinions/expériences liées à l'encodage des images lors de l'envoi via POST. Dois-je faire autre chose, ce n'est pas mentionné dans le lien ci-dessus.

QUESTION: ai-je besoin d'utiliser un type de codage pour les données réelles lors de l'envoi de fichier binaire dans un message en plusieurs parties via un message http?

Désolé, pas de code pour le moment.

Vive

+3

Quelle est votre question? Quel est ton problème? Où est ton code? – Joel

+0

Aucun code. Question ajoutée Je voulais entendre une opinion. Dans les mots. Pas de code, mais lié au code. – hummingBird

Répondre

1

Quant à votre question: oui, vous devez encoder le fichier.

Je voudrais utiliser HttpClient pour cela car il prend soin de toutes ces choses pour vous. Pas besoin de réinventer la roue. Voir How to upload a file using Java HttpClient library working with PHP pour le code.

+0

Merci ... Je vais probablement utiliser HttpClient à la fin. Cependant, j'ai passé un certain temps à essayer de déboguer cela, et je voudrais vraiment régler cela. Le fait que les fichiers texte soient transférés correctement suggère que c'est une question d'encodage. – hummingBird

1

Si vous utilisez URLConnection pour gérer manuellement les données multipart/form, vous devez ajouter "Content-Transfer-Encoding: binary" à la partie image. Voir W3C's docs.

+0

Malheureusement, ce n'est pas le correctif que je cherchais, car il est répertorié dans le lien que j'ai posté :(Merci, de toute façon – hummingBird

+1

Euh, désolé, il était caché par une barre de défilement ... :) BTW, avez-vous testé avec IE, Firefox, Chrome, Safari? –

+0

Fait intéressant, non :). J'étais en fait concentré sur le fait que cette chose fonctionnait avec du texte brut, donc j'ai pensé que cela avait quelque chose à voir avec le contenu binaire. – hummingBird

Questions connexes