hochladen kann mit folgenden Schritten
Schritt 1 durchgeführt werden: mit folgendem Code Erstellen Sie eine Methode
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();
}
});
Schritt 2: Erstellen Schnittstelle wie unten
public interface UploadPhotoRetroService {
@Multipart
@POST("/whatever-your-api")
void upload(@Part("Photo") TypedFile file, Callback<String> callback);
}
Schritt 3: Erstellen Klasse wie unten
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 ist in Retrofit nicht mehr verfügbar. Weißt du, wie es ohne TypedFile –
Seltsam !! Ich verwende TypedFile in meiner Anwendung, um ein Foto mit Retrofit Version 1.9.0 hochzuladen, und es funktioniert gut. –
Für Retrofit 2.0 anstelle von TypedFile würden Sie ein ResponseBody mit ResponseBody.create erstellen – Jawnnypoo