J'ai une classe de requête json personnalisée pour télécharger des fichiers multi-parties sur ce serveur dans une application Android, ça fonctionne bien quand j'ajoute des mots anglais comme clés et valeurs (ces touches et valeurs sont une partie) mais quand j'utilise Mot arabe, il écrit des mots inconnus comme "'D * F * 9". Avant d'écrire ces valeurs dans l'objet ByteArrayOutputStream, tout fonctionne correctement, et je peux voir les mots arabes.
C'est la méthode get type de contenu du corps pour la toute classe
Comment ajouter des mots non-anglais en tant que partie de texte à une requête en plusieurs parties dans volley lib?
@Override
public String getBodyContentType() {
return "multipart/form-data;charset=UTF-8;boundary=" + boundary;
//return "application/json; charset=UTF-8";
//return "multipart/form-data; charset=UTF-8";
}
Voici la version texte méthode de partie pour construire la partie du texte
private void buildTextPart(DataOutputStream dataOutputStream, String parameterName, String parameterValue) throws IOException {
dataOutputStream.writeBytes(twoHyphens + boundary + lineEnd);
//dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"" + parameterName + "\"" + lineEnd);
dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"" + parameterName + "\"" + lineEnd);
dataOutputStream.writeBytes("Content-Type: text/plain; charset=UTF-8" + lineEnd);
//dataOutputStream.writeBytes("Content-Type: application/json; charset=UTF-8" + lineEnd);
Log.d("inside buildText", parameterName + " " + parameterValue);
dataOutputStream.writeBytes(lineEnd);
dataOutputStream.writeBytes(parameterValue + lineEnd);
}
Et ici le code que j'ai utilisé pour déboguer ces valeurs
// just for debugging
DataInputStream in = new DataInputStream(new ByteArrayInputStream (bos.toByteArray()));
Scanner scanner = new Scanner(in);
while (scanner.hasNext()){
Log.d("scanner ", scanner.next());
}
J'ai lu ceci RFC document mais je ne comprends pas quel est le but de Content-Disposition et quelles sont ses valeurs. Que dois-je éditer dans ce code pour obtenir les valeurs arabes correctement?
Dois-je changer le type de contenu dans toutes les parties ou je peux faire que chaque partie ait son contenu Type?
Toute aide plz?
'pour télécharger des fichiers multi-parties sur le serveur'? Qu'est-ce qu'un fichier en plusieurs parties? – greenapps
La première partie a une image et une autre a des clés et des valeurs. –
Un fichier ressemble à ça? Ne le pense pas. – greenapps