Publier un fichier avec d'autres données de formulaire à l'aide de HttpURLConnection
Im essayant de publier un fichier à un API de la mine, le long de avec d'autres paramètres.
Par exemple. POST /médias
avec les paramètres
filename = 'test.png'
fichier = -le-réelle-fichier-
Je peux le faire avec succès avec Facteur (en utilisant le formulaire de données), de sorte que l'api côté des choses sont très bien.
Voici mon code android à l'aide de HttpURLConnection:
nameValuePairs.add(new BasicNameValuePair("filename", "test.png"));
URL object = new URL(url);
HttpURLConnection connection = (HttpURLConnection) object.openConnection();
connection.setReadTimeout(60 * 1000);
connection.setConnectTimeout(60 * 1000);
String auth = username+":"+password;
byte[] data = auth.getBytes();
String encodeAuth = "Basic " + Base64.encodeToString(data, Base64.DEFAULT);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Authorization", encodeAuth);
connection.setRequestProperty("Accept", ACCEPT);
connection.setRequestMethod("POST");
connection.setRequestProperty("ENCTYPE", "multipart/form-data");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
dataOutputStream = new DataOutputStream(connection.getOutputStream());
writer = new BufferedWriter(new OutputStreamWriter(dataOutputStream, "UTF-8"));
writer.write(getQuery(nameValuePairs));
writer.write("&file=" + "image.jpg");
writer.write
File file = getFile(item);
if (file == null) {
Log.e("uploadFile", "Source File not exist " );
} else {
addFilePart("file", file);
}
}
writer.flush();
writer.close();
dataOutputStream.close();
connection.connect();
Double Possible de Télécharger de gros fichiers sur Android sans erreur outofmemory
Double Possible de Comment télécharger multipart forme d'image et de données à un serveur dans android?
Double Possible de Comment télécharger multipart forme d'image et de données à un serveur dans android?
OriginalL'auteur Parampal Pooni | 2016-01-21
Vous devez vous connecter pour publier un commentaire.
Android multipart télécharger.
Code d'appel:
Ref Lien https://stackoverflow.com/a/26145565/1143026
Il est préférable de marquer une question comme un doublon, au lieu de copier-coller d'une réponse.
comment le code ressemblerait , si je suis censé ajouter un champ plus ...disons le mot de passe
OriginalL'auteur Kanaiya Katarmal
Accepté de répondre à besoin d'une petite mise à jour si vous utilisez nanoHttpd pour la fin du serveur., comme cette question a pris beaucoup de temps de débogage.. et a dû utiliser la timeline ci-dessous le code source de l'insomnie à comprendre le problème.
juste éviter de les utiliser (//commentaire)
outputStream.writeBytes("Content-Type: text/plain" + lineEnd);
que ce termine le réglage de l'paramètres post
null
OriginalL'auteur Gowrav