我正在尝试通过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(否 这样的文件或目录)
答案 0 :(得分:0)
问题似乎很明显:
图像路径不正确。
但是,如果您使用的是Image Cropper库,则应该有Uri
的裁剪图像,因此请尝试类似以下操作:File file = new File(uri.getPath());
请注意,getPath()
是访问Uri
而不是使用toString()
的正确方法