La recherche a rendu nécessaire le POST d'images d'Android vers PHP sur Azure Cela semble amusant à utiliser sans penser au traitement asynchrone! !! J'ai adopté Retrofit 2 à cause de la pensée court-circuitée, mais j'en étais accro de manière inattendue, donc un mémo
app/build.gradle
dependencies {
:
:
compile 'com.squareup.retrofit2:retrofit:2.1.0+'
}
UploadService.class
public interface UploadService {
@Multipart
//Le chemin peut être celui sans l'URL de base
@POST("upload/index.php")
Call<ResponseBody> upload(@Part MultipartBody.Part file);
}
ServiceGenerator -Citation de Officiel
ServiceGenerator.class
public class ServiceGenerator {
//Spécifiez l'URL de base ici
public static final String API_BASE_URL = "http://example.com/";
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
private static Retrofit.Builder builder = new Retrofit.Builder().baseUrl(API_BASE_URL);
public static <S> S createService(Class<S> serviceClass) {
Retrofit retrofit = builder.client(httpClient.build()).build();
return retrofit.create(serviceClass);
}
}
UploagService service = ServiceGenerator.createService(UploadService.class);
//Fichiers tels que des images, de la musique, des vidéos, etc. à publier
String filePath = ”path/to/your/file”;
File file = new File(filePath);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("Nom du champ de destination du POST", file.getName(), requestFile);
Call<ResponseBody> call = service.upload(body);
call.enqueue(new Callback<ResponseBody>() {
//Appelé lorsque le code d'état est autre qu'un code d'erreur tel que 400
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
//Traitement en cas de succès
// response.body();Vous pouvez entrer dans la balise body de la réponse HTML avec
}
//Appelé lorsque le code d'état est un code d'erreur tel que 400
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
//Traitement au moment de l'échec
}
});
Recommended Posts