我试图在retrofit2库的帮助下将一个图像文件发送到服务器。但有个问题。顺便说一下我用MVP模式写代码。
我试图以不同的方式将图像文件发送到服务器。其中之一是用于快速反应的AndroidNetworking。但最后他们都没起作用。问题是“找不到文件”。
我从手机的图片库中提取图像,然后在库的帮助下将该图像发送到裁剪过程中。下面是我的代码,它会导致异常:
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: file:/data/user/0/org.kitapp/cache/cropped4247134528851651259.jpg (没有此类文件或目录)
发布于 2019-09-03 08:35:20
看来这个问题是显而易见的:
图像路径不正确。
但是,如果您正在使用Image库,那么您应该有裁剪图像的Uri,所以尝试如下所示:File file = new File(uri.getPath());
请注意,getPath()是从Uri访问路径的正确方式,而不是使用toString()
https://stackoverflow.com/questions/57767429
复制相似问题