java的image数组_java – 使用OkHTTP上传图像数组

我尝试上传图片的服务器正在等待一个文件数组.通过互联网,他们使用多个addFormDataPart作为我的代码:

final OkHttpClient client = new OkHttpClient();

MediaType MEDIA_TYPE_PNG;

MultipartBody.Builder buildernew = new MultipartBody.Builder().setType(MultipartBody.FORM);

for (Image image : media) {

MEDIA_TYPE_PNG = image.getName().endsWith("png") ? MediaType.parse("image/png") : MediaType.parse("image/jpeg");

RequestBody imageBody = RequestBody.create(MEDIA_TYPE_PNG, image.getPath());

buildernew.addFormDataPart("file", image.getName(), imageBody);

}

MultipartBody requestBody = buildernew.build();

final Request request = new Request.Builder()

.addHeader("authorization", "Bearer " + Credentials.getAuthToken(mContext))

.url(url)

.post(requestBody)

.build();

Thread thread = new Thread(new Runnable() {

@Override

public void run() {

try {

Response response = client.newCall(request).execute();

if (response.message().contentEquals("OK") && response.code() == 200) {

System.out.println(response.body().string());

}

System.out.println(response.body().string());

} catch (Exception e) {

Log.e(TAG, e.getMessage());

}

}

});

thread.start();

问题是服务器只接收最后一个,因为它检查“文件”并采用最后一个,因为数据不是数组.服务器以这种方式期望数据:

{ "file" : [Files] }

最佳答案 我的猜测是你需要将多部分数据字段的名称更改为file [],因为服务器需要一个图像数组而不是一个(最后一个)图像:

buildernew.addFormDataPart("file[]", image.getName(), imageBody);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值