无此文件或目录

时间:2019-09-03 08:01:40

标签: java android retrofit

我正在尝试通过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(否   这样的文件或目录)

1 个答案:

答案 0 :(得分:0)

问题似乎很明显:

  

图像路径不正确。

但是,如果您使用的是Image Cropper库,则应该有Uri的裁剪图像,因此请尝试类似以下操作:File file = new File(uri.getPath());

请注意,getPath()是访问Uri而不是使用toString()的正确方法