-1
請我需要幫助我需要發送此模型與圖像使用改造,但它不工作它的工作使用郵遞員在截圖中,所以我能做些什麼來解決這個問題如何上傳圖像與json是從模型序列化使用改造android
public class Package implements Comparable<Package>, Parcelable {
@SerializedName("id")
public String ID;
@SerializedName("name")
public String title;
@SerializedName("description")
public String description;
@SerializedName("value")}
這種模式,我需要在同一個模型添加圖像使用改裝發送這樣
public interface ApiInterface {
@Multipart
@Headers("Content-Type: multipart/form-data")
@POST("packages/add")
Single<Result<AddPackageResponseModel>> addPackage(@Part("image") RequestBody image,
@Part("json") RequestBody addPackageModel,
@Query("token") String token);}
這是我創建的請求主體
File imageFile = ImageHelper.convertBitmapToFile(addPackageModel.getImage(), "image", context);
RequestBody packageImageFileRequestBody = RequestBody.create(MediaType.parse("multipart/form-data"), imageFile);
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String addPackageModelJSON = gson.toJson(addPackageModel);
RequestBody addPackageJSONRequestBody = RequestBody.create(MediaType.parse("multipart/form-data"), addPackageModelJSON);
compositeDisposable.add(addPackageInteractor.addPackage(packageImageFileRequestBody,
addPackageJSONRequestBody, token)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Result<AddPackageResponseModel>>() {
@Override
public void accept(@NonNull Result<AddPackageResponseModel> responseResult) throws Exception {
if (responseResult.response().body() != null) {
addPackageView.addPackageSuccess();
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(@NonNull Throwable throwable) throws Exception {
}
}));
這是郵遞員與後端和它的使用郵遞員
非常感謝您的回覆,這很有幫助,但我需要更高級的東西,我的模型中有另一個對象,比如尺寸(寬度 - 高度 - 長度),所以我應該讓模型中的每個字段都像我在那裏做的一樣是不是比我更容易發送模型和改造使這項工作?提前致謝 –