importu mogą być wykonane za pomocą poniższych kroków
Krok 1: Tworzenie metodę z poniżej kodu
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();
}
});
Etap 2: Tworzenie interfejsu poniżej
public interface UploadPhotoRetroService {
@Multipart
@POST("/whatever-your-api")
void upload(@Part("Photo") TypedFile file, Callback<String> callback);
}
Krok 3: Tworzenie klasy poniżej poniżej:
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);
}
}
Typ edFile nie jest już dostępny w Retroficie. Czy wiesz, jak to zrobić bez Wpisanego pliku –
Dziwne !! Używam aplikacji TypedFile w mojej aplikacji do przesyłania zdjęć z Retrofit w wersji 1.9.0 i działa poprawnie. –
Dla Retrofit 2.0 zamiast TypedFile, utworzysz ResponseBody za pomocą ResponseBody.create – Jawnnypoo