Ich habe eine benutzerdefinierte Json Request-Klasse, um mehrteilige Dateien zum Server dieser Klasse in einer Android-Anwendung hochladen, funktioniert es gut, wenn ich englische Wörter als Schlüssel und Werte hinzufügen (diese Schlüssel und Werte sind ein Teil), aber wenn ich eines benutze Arabisches Wort, schreibt unbekannte Wörter wie "D * F * 9".
Bevor ich diese Werte in ByteArrayOutputStream Objekt schreibe, funktioniert alles gut, und ich kann arabische Wörter sehen.
Dies ist der Body Content Type Verfahren für die alle
Wie man nicht-englische Wörter als Textteil zur mehrteiligen Anfrage in der vollen lib hinzufügt?
@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";
}
Hier Klasse erhalten, ist die Build-Text Part Methode der Textteil
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);
}
Und hier zu konstruieren der Code, den ich verwendet habe, um diese Werte zu debuggen
// just for debugging
DataInputStream in = new DataInputStream(new ByteArrayInputStream (bos.toByteArray()));
Scanner scanner = new Scanner(in);
while (scanner.hasNext()){
Log.d("scanner ", scanner.next());
}
Ich habe diese RFC document gelesen, aber ich kann nicht verstehen, was der Zweck von Content-Disposition und was ist seine Werte bedeuten.
Was soll ich in diesem Code bearbeiten, um die arabischen Werte korrekt zu erhalten?
Sollte ich den Inhaltstyp in allen Teilen ändern oder kann ich jedes Teil seinen Inhaltstyp haben lassen?
Irgendwelche Hilfe PLZ?
'um mehrteilige Dateien zum Server hochzuladen'? Was ist eine mehrteilige Datei? – greenapps
Der erste Teil hat ein Bild und ein anderer hat einige Schlüssel und Werte. –
Eine Datei sieht so aus? Dont denke nicht. – greenapps