Upload può essere fatto utilizzando i passaggi qui sotto
Passaggio 1: Creare un metodo con sottostante Codice
UploadPhotoRetroService service = ServiceGenerator.createService(MyActivity.class, "base-url");
TypedFile typedFile = new TypedFile("image/jpeg", new File(imagePath));
service.upload(typedFile, new Callback<String>() {
@Override
public void success(String result, Response response) {
// success call back
}
@Override
public void failure(RetrofitError error) {
error.printStackTrace();
}
});
Passo 2: Creazione di interfaccia, come di seguito
public interface UploadPhotoRetroService {
@Multipart
@POST("/whatever-your-api")
void upload(@Part("Photo") TypedFile file, Callback<String> callback);
}
Passaggio 3: Creare class come sotto
public class ServiceGenerator {
private ServiceGenerator() {
}
public static <S> S createService(Class<S> serviceClass, String baseUrl) {
RestAdapter.Builder builder = new RestAdapter.Builder()
.setEndpoint(baseUrl)
.setClient(new OkClient(new OkHttpClient()));
RestAdapter adapter = builder.build();
return adapter.create(serviceClass);
}
}
fonte
2015-06-15 11:58:09
Tipo edFile non è più disponibile in Retrofit. Sai come farlo senza TypedFile –
Strano !! Sto usando TypedFile nella mia applicazione per caricare foto con Retrofit versione 1.9.0 e funziona perfettamente. –
Per Retrofit 2.0 anziché TypedFile, si creerà un ResponseBody utilizzando ResponseBody.create – Jawnnypoo