我是新的安卓和我提出这个问题,任何帮助将被感激
这是我的Webservice密钥
@Part MultipartBody.Part image1[]
我试过这么做
Map<String,MultipartBody.Part> list = new HashMap<>();
MultipartBody.Part[] imageParts = new MultipartBody.Part[10];
for(int i=0;i<=mClipData.getItemCount();i++) {
File file = new File(String.valueOf(mArrayUri.get(i)));
final RequestBody requestBody1 = RequestBody.create(MediaType.parse("image/*"), file);
imageParts[i] = MultipartBody.Part.createFormData("image8", file.getName(), requestBody1);
Webservice.getClient().addProduct(RequestBody.create(okhttp3.MediaType.parse("text/plain"), mAuth.getCurrentUser().getPhoneNumber()),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), ItemName.getText().toString()),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), PriseCoin.getText().toString()),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), cat),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), ItemDescription.getText().toString()),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), ItemDetails.getText().toString()),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), di),
RequestBody.create(okhttp3.MediaType.parse("text/plain"), ta), imageParts[i]
).enqueue(new Callback<addproduct>() {
@Override
public void onResponse(Call<addproduct> call, Response<addproduct> response) {
Toast.makeText(AddProduct.this, "sucess"+response.body().getMsg(), Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<addproduct> call, Throwable t) {
}
});
}
如何在android中使用改型将多个图像上传到单键
private fun getParts(): ArrayList<MultipartBody.Part> {
val parts = arrayListOf<MultipartBody.Part>()
if (baseAdapter?.itemCount ?: 0 > 0) {
for ((i, item) in baseAdapter?.list?.withIndex()!!) {
parts.add(prepareParts("images[$i]", (Uri.parse(item?.uri) ?: "") as Uri))
}
}
return parts
}
private fun prepareParts(name: String, fileUri: Uri): MultipartBody.Part {
val file = File(fileUri.path)
val requestBody = RequestBody.create(MediaType.parse("*/*"), file)
return MultipartBody.Part.createFormData(name, file.name, requestBody)
}
并且在使param获得每个图像的部分时
Map<String,MultipartBody.Part> list = new HashMap<>();
ArrayList<MultipartBody.Part> parts = getParts()// this will have all images file name "images[0]": filename... and so..on
您的改型界面
@Multipart
@POST("your_file")
fun pushMulipleImages(@QueryMap param: HashMap<String, String>,@Part parts: List<MultipartBody.Part>)