如何使用改型android从模型序列化的json上传图像

如何使用改型android从模型序列化的json上传图像,android,json,image,retrofit,Android,Json,Image,Retrofit,请我需要帮助,我需要发送此模型的图像使用改装,但它不工作,它正在使用截图中的邮递员工作,所以我可以做什么来解决这个问题 public class Package implements Comparable<Package>, Parcelable { @SerializedName("id") public String ID; @SerializedName("name") public String title; @SerializedName("description") pu

请我需要帮助,我需要发送此模型的图像使用改装,但它不工作,它正在使用截图中的邮递员工作,所以我可以做什么来解决这个问题

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类包实现了可比较的、可打包的{
@序列化名称(“id”)
公共字符串ID;
@序列化名称(“名称”)
公共字符串标题;
@序列化名称(“说明”)
公共字符串描述;
@SerializedName(“值”)}
这个型号我需要在同一型号上添加图像,以便使用类似这样的改装发送

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);}
公共接口{
@多部分
@标题(“内容类型:多部分/表单数据”)
@邮寄(“包裹/添加”)

Single我做了一些类似于您在我的项目中所做的事情,这是我的第一个android项目

我有一个图像,我试图将其作为多部分发送到服务器,并与我的json一起发送,我就是这么做的:

首先,我创建了一个文件,如:

File img = new File(avatar);
哪个化身是文件的地址

然后我创建了一个
RequestBody
对象,如:

RequestBody requestFile= RequestBody.create(MediaType.parse("multipart/form-data"), img);
MultipartBody.Part body =null;
if(avatar!="")
   body =  MultipartBody.Part.createFormData("avatar", img.getName(), requestFile);
然后,使用名为
obj
的改装对象,我执行了以下操作:

obj.registerNewUser(RequestBody.create(MediaType.parse("text/plain"),user.getUserName())
                    ,RequestBody.create(MediaType.parse("text/plain"),user.getFullName())
                    ,body,RequestBody.create(MediaType.parse("text/plain"),user.getPassword())).enqueue(new Callback<Data.User>() {...
//handle the response with onResponse and onFailure functions
}

我希望我的回答能对您有所帮助。

非常感谢您的回复,这很有帮助,但我需要更高级的东西。我的模型中有另一个对象,如尺寸(宽-高-长)那么,我是否应该像你一样获得我模型中的每个领域并进行改进呢?没有什么比这更容易的了,我可以在这里发送模型并进行改进,做出这样的努力吗?提前谢谢
obj.registerNewUser(RequestBody.create(MediaType.parse("text/plain"),user.getUserName())
                    ,RequestBody.create(MediaType.parse("text/plain"),user.getFullName())
                    ,body,RequestBody.create(MediaType.parse("text/plain"),user.getPassword())).enqueue(new Callback<Data.User>() {...
//handle the response with onResponse and onFailure functions
}
@Multipart
    @POST("user/register/")
    Call<Data.User> registerNewUser(@Part("username") RequestBody username, @Part("fullname") RequestBody fullname, @Part MultipartBody.Part avatar, @Part("password") RequestBody password);