画像をアップロードし、Retrofit 2
を使用して投稿方法でString
データを送信する必要があります。私はそれを行うために流れる方法を使用しています。Retrofit 2.0でファイルと文字列の値を作成中にエラーが発生しました
@Multipart
@FormUrlEncoded
@POST("signup/step3")
Call<BasicModel> completeRegistration(
/*All Basic Parameter*/
@Field("mobile_no") String mobileNo,
/*For User Image*/
@Part MultipartBody.Part photoFile
);
ただし、次のエラーが発生しています。
java.lang.IllegalArgumentException: Only one encoding annotation is allowed.
for method AllNetworkCalls.completeRegistration
at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:695)
at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:686)
at retrofit2.ServiceMethod$Builder.parseMethodAnnotation(ServiceMethod.java:266)
at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:169)
at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166)
at retrofit2.Retrofit$1.invoke(Retrofit.java:145)
at java.lang.reflect.Proxy.invoke(Proxy.java:397)
at $Proxy1.completeRegistration(Unknown Source)
at com.sslwireless.app.Activities.SignUp.RegistrationActivity_5.completeRegistration(RegistrationActivity_5.java:244)
at com.sslwireless.app.Activities.SignUp.RegistrationActivity_5.access$1100(RegistrationActivity_5.java:51)
at com.sslwireless.app.Activities.SignUp.RegistrationActivity_5$5.onClick(RegistrationActivity_5.java:132)
at android.view.View.performClick(View.java:4856)
at android.view.View$PerformClick.run(View.java:19956)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5389)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
これ以外の方法はありますか?
私はあなたが同じ要求のために一緒に 'FormUrlEncoded' @と' Multipart' @使用できることと思ういけません。 FromUrlEncodedを削除してみてください。 – MBH
は '@ FromUrlEncoded'を削除して、' @ Field'にエラーが表示されます。 –
私はあなたが '@ Field'の代わりに' @Field'の代わりに '@ Body'を使う必要があると思います。 – MBH