在Android Marshmallow上改装多部分API获取错误java.lang.IllegalStateException:多部分正文必须至少有一部分
我正在使用改型2获得错误。它在安卓棉花糖以下的设备中运行良好。上面是棉花糖,下面是错误在Android Marshmallow上改装多部分API获取错误java.lang.IllegalStateException:多部分正文必须至少有一部分,java,android,retrofit,retrofit2,Java,Android,Retrofit,Retrofit2,我正在使用改型2获得错误。它在安卓棉花糖以下的设备中运行良好。上面是棉花糖,下面是错误 >java.lang.IllegalStateException: Multipart body must have at least one part. 代码 MultipartBody.Builder=新的MultipartBody.Builder(); setType(MultipartBody.FORM); 试一试{ 对于(int i=0;i
>java.lang.IllegalStateException: Multipart body must have at least one part.
代码
MultipartBody.Builder=新的MultipartBody.Builder();
setType(MultipartBody.FORM);
试一试{
对于(int i=0;i
你能帮我吗?这是我使用请求正文上传图像的方式
RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), selectedImage /* file name*/);
MultipartBody.Part filePart = MultipartBody.Part.createFormData("image", selectedImage.getName(), fileBody);
在你的接口类中
@Multipart
@POST(UPLOAD_IMAGE)
Call<JsonObject> uploadImage(@Part MultipartBody.Part image);
@Multipart
@POST(上传图片)
调用uploadImage(@Part MultipartBody.Part image);
它适用于所有设备。希望对您有所帮助。本教程将帮助您解决问题 对于多文件上载,请使用此
List<MultipartBody.Part> projectParts = new ArrayList<>();
for (int i = 0; i < mFilesTobeincluded.size(); i++) {
File file = new File(mFilesTobeIncluded.get(i));
String boundary = String.valueOf(System.currentTimeMillis());
Log.d(TAG, "requestUpload: image " + i + " " + mFilesTobeincluded.get(i));
RequestBody requestFile =
RequestBody.create(
MediaType.parse("multipart/form-data; boundary=" + boundary),
file
);
projectParts.add(MultipartBody.Part.createFormData("name_of_key", file.getName(), requestFile));
}
List projectParts=new ArrayList();
对于(int i=0;i
对于上面的marsmallow,您需要运行时权限才能访问已处理的文件运行时权限…@NileshRathod其在其他设备中工作感谢u kousei…我仅使用此链接解决了此问题..我同意您的答案
List<MultipartBody.Part> projectParts = new ArrayList<>();
for (int i = 0; i < mFilesTobeincluded.size(); i++) {
File file = new File(mFilesTobeIncluded.get(i));
String boundary = String.valueOf(System.currentTimeMillis());
Log.d(TAG, "requestUpload: image " + i + " " + mFilesTobeincluded.get(i));
RequestBody requestFile =
RequestBody.create(
MediaType.parse("multipart/form-data; boundary=" + boundary),
file
);
projectParts.add(MultipartBody.Part.createFormData("name_of_key", file.getName(), requestFile));
}