J'ai décidé de réécrire mon ancien code parce que HttpPost, HttpResponse et HttpEntity sont maintenant obsolètes. Voici mon ancien code:Android: Envoyer le fichier au serveur avec les paramètres
private static String uploadFile(String token, File tempFile, String uploadUrl, final String fileName)
throws IOException, ExecutionException, InterruptedException {
try {
FileInputStream in = new FileInputStream(tempFile);
byte[] fileBytes = org.apache.commons.io.IOUtils.toByteArray(in);
in.close();
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("token", new StringBody(token, ContentType.TEXT_PLAIN));
builder.addPart("name", new StringBody(fileName, ContentType.TEXT_PLAIN));
builder.addPart("file", new ByteArrayBody(fileBytes, fileName));
builder.addPart("fileType", new StringBody("IMAGE", ContentType.TEXT_PLAIN));
HttpPost postRequest = new HttpPost(uploadUrl);
postRequest.setEntity(builder.build());
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
org.apache.http.HttpResponse response = httpClient.execute(postRequest);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {
HttpEntity urlEntity = response.getEntity();
String str = org.apache.commons.io.IOUtils.toString(urlEntity.getContent());
JsonObject jsonObject = new JsonParser().parse(str).getAsJsonObject();
String Url = jsonObject.get("url").getAsString();
String blobKey = jsonObject.get("key").getAsString();
return Url;
}
}
}
Donc, maintenant je cherche une alternative. Je regarde à HttpURLConnection, mais est-il possible d'ajouter des paramètres à la demande? Je serai heureux pour toute aide ou font allusion