gpt4 book ai didi

android - 改造 2 : How to upload image with JSONObject in android

转载 作者:行者123 更新时间:2023-11-29 19:34:50 25 4
gpt4 key购买 nike

我正在尝试使用相机运行时拍摄的一张图像发布 JSONObject。如何在 android 中使用改造发布图像。这是我的界面

 @Multipart
@POST("/upload")
Call<Response> getDetails(@Part("empsno") String empsno,
@Part("time")String deliveryTime,
@Part("uploadFile") MultipartBody.Part part,
@Part("remarks")String remarks,
@Part("receiver")String receivedBy,
@Part("Address")String ipAddress
);

我用来上传带有其他细节的图像

的代码
 JSONObject oJSONObject = new JSONObject();
oJSONObject.put("empsno", strEmpsno);
oJSONObject.put("time", strtime);
oJSONObject.put("remarks", strRemarks);
oJSONObject.put("receiver", strReceiver);
oJSONObject.put("Address", straddress);
oJSONObject.put("uploadFile", imageFolderPath + "/" + imageName);

RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestFile);

xInterface interface = retrofit.create(xInterface.class);
Call<Response> podResponsecall = interface.getDetails(strEmpsno, strtime,
body, strRemarks, strReceiver, straddress);


podResponsecall.enqueue(new Callback<Response>() {
@Override
public void onResponse(Response<Response> response) {
String val = response.body() + "";
Log.e(TAG, "onResponse: " + val);
}

@Override
public void onFailure(Throwable t) {
Log.e(TAG, "onFailure: " + t.getLocalizedMessage());
}
});

输出 - onFailure:JSON 必须以数组或对象开头。

我不知道这是对还是错。请帮助我使用 Retrofit2 beta 3 发布一些图片和其他详细信息。

最佳答案

服务类:

    @Multipart
@POST("upload")
Call<Void> upload(@Part("model") RequestBody model, @Part MultipartBody.Part file);

改造 2 部分:

    Gson gson = new GsonBuilder().setLenient().create();
RequestBody modelBody = RequestBody.create(MediaType.parse("application/json"), gson.toJson(modelPojo));
RequestBody reqFileBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part mPart1 = MultipartBody.Part.createFormData("file","name",reqFileBody);

Java Spring :

   @PostMapping(value="/upload" ,consumes = {"multipart/form-data","application/json"})
public ResponseEntity<Object> uploadImagebyEmail(@RequestPart("model") Object model,@RequestPart("file") MultipartFile uploadfile ) throws IOException {
return //codes here...
}

关于android - 改造 2 : How to upload image with JSONObject in android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39328391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com