gpt4 book ai didi

java - 如何在新的 Callback 中访问请求 MultipartBody 信息?

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:42 28 4
gpt4 key购买 nike

各位 Android 程序员大家好。我被这个问题困住了。我需要从回调方法中检索循环迭代的文件名或索引。我正在使用 Retrofit 2.0。

我想我可以将信息作为表单字段传递到帖子中(即使服务器不需要它),然后在 onResponse() 方法内的 call.request.body() 中检索它。

如果我使用调试器,我可以看到数据。我看到表格的两个部分。我想我可以在我的表单中添加另一个部分来保存索引。但是,我不知道如何通过代码访问它。有谁知道最好的方法来做到这一点?我想确保所有图像都已在最后一个 onResponse 回调结束时上传。

最初我想使用 call.execute.body() 来执行此操作,因为我已经有一个“请稍候对话框”但这给了我一个异常,基本上是说我应该从异步任务内部调用该方法。

请忽略我将请求转换为 JSON 对象的尝试...

任何想法都有帮助,谢谢!

for (File f : theImages) {
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), f);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", "image.jpg", reqFile);
RequestBody repId = RequestBody.create(MediaType.parse("text/plain"), String.valueOf(newExternalReportId));
uploadCall = hazSnapApi.postImage(body, repId, 1L);
uploadCall.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResponseBody rBody = response.body();
RequestBody mRequest = call.request().body();
try {
String temp = call.request().toString();
JSONObject bodyAsJson = new JSONObject(call.request().toString());
} catch (JSONException e) {
e.printStackTrace();
}


}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
t.printStackTrace();

}
});
}

最佳答案

我最终创建了一个创建改造调用的服务。这样我就可以执行call.execute.body()。这是可行的,因为服务不在主线程上运行。

关于java - 如何在新的 Callback<ResponseBody> 中访问请求 MultipartBody 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198201/

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