我正在尝试使用retrofit2库将图像文件发送到服务器。但有一个问题。顺便说一下,我以MVP模式编写代码。
我试图以不同的方式将图像文件发送到服务器。其中之一是用于快速响应的AndroidNetworking。但是最后他们都不起作用。问题是“找不到文件”。
我从手机的图片库中选择图片,然后在Android Image Cropper库的帮助下将该图片发送到裁剪过程。这是导致异常的代码:
File file = new File(images.get(cursor).toString());
//pass it like this
RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), file);
// MultipartBody.Part is used to send also the actual file name
MultipartBody.Part body =
MultipartBody.Part.createFormData("image", file.getName(), requestFile);
mInteractor.onImageUploadRequest(
body,
SharedPreferencesManager.getStringData(mView.getContext(), Constants.TOKEN_KEY),
new ImageCallback()
);
问题是:
E / SharePostPresenter:文件:/data/user/0/org.kitapp/cache/cropped4247134528851651259.jpg(无此类文件或目录)
看来问题很明显:
图片路径不正确。
但是,如果您使用的是Image Cropper库,则应该具有Uri
裁剪后的图像,因此请尝试如下操作:File file = new File(uri.getPath());
请注意,这getPath()
是Uri
使用而不是使用来访问路径的正确方法toString()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句