java - 没有这样的文件或目录
问题描述
我正在尝试在 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: file:/data/user/0/org.kitapp/cache/cropped4247134528851651259.jpg (没有那个文件或目录)
解决方案
似乎问题很明显:
图像路径不正确。
但是,如果您使用的是 Image Cropper 库,那么您应该有Uri
裁剪的图像,因此请尝试以下操作:File file = new File(uri.getPath());
请注意,这getPath()
是访问路径的正确方法,Uri
而不是使用toString()
推荐阅读
- c++ - 如果用户说他们想再次播放,如何重复节目?
- javascript - 如何将值传递给没有道具的组件以对其进行测试?
- asp.net-core - ASP.NET Core - 无法从 System.security.claims.claimsPrincipal 转换为 Scheduler.Areas.Identity.Data
- css - CSS 内容可见性是否会提高图像解码时间?
- perl - 根据文档示例,IPC::Open2 输出到已经打开的文件句柄
- python - 在 pyspark 中读取未分区的 csv 文件时跳过特定行
- apache-spark - Pyspark 错误:读取 tsv.gz 数据帧每次读取 0 行,即使源中有行
- c - bsearch 的不同比较函数
- html - How can I store an XPath as a variable in Python Selenium?
- javascript - Apexcharts 散点隐藏在彼此下方