Java 尝试将文件发送到node.js时显示错误

Java 尝试将文件发送到node.js时显示错误,java,android-studio,retrofit,Java,Android Studio,Retrofit,我正在执行一个项目,该项目必须将文件发送到node.js服务器,但当我上载以发送文件时,会出现此错误 2020-03-20 11:39:32.289 11524-11524/com.example.note I/System.out: java.io.FileNotFoundException: content:/com.android.providers.downloads.documents/document/2767 (No such file or directory) 代码:

我正在执行一个项目,该项目必须将文件发送到node.js服务器,但当我上载以发送文件时,会出现此错误

2020-03-20 11:39:32.289 11524-11524/com.example.note I/System.out: java.io.FileNotFoundException: content:/com.android.providers.downloads.documents/document/2767 (No such file or directory)
代码:

               RequestBody dateTimeRequest = RequestBody.create(MultipartBody.FORM, String.valueOf(note.getDateTime()));
           RequestBody titleRequest = RequestBody.create(MultipartBody.FORM, note.getTitle());

           File mediaFile = new File(new File(media).getPath());

           Uri uri = Uri.parse(media);

           RequestBody fileRequest = RequestBody.create(MediaType.parse(Objects.requireNonNull(getContext().getContentResolver().getType(uri))),
                   mediaFile);

           MultipartBody.Part file = MultipartBody.Part.createFormData("media", mediaFile.getName(), fileRequest);


           call = jsonPlaceHolderApi.uploadMedia(dateTimeRequest, titleRequest, file);
       }

        call.enqueue(new Callback<Note>() {
            @Override
            public void onResponse(Call<Note> call, Response<Note> response) {
            }

            @Override
            public void onFailure(Call<Note> call, Throwable throwable) {

                System.out.println(throwable);
            }
        });
RequestBody-dateTimeRequest=RequestBody.create(MultipartBody.FORM,String.valueOf(note.getDateTime());
RequestBody titleRequest=RequestBody.create(MultipartBody.FORM,note.getTitle());
File mediaFile=新文件(新文件(media).getPath());
Uri=Uri.parse(媒体);
RequestBody fileRequest=RequestBody.create(MediaType.parse(Objects.requireNonNull(getContext().getContentResolver().getType(uri)),
媒体文件);
MultipartBody.Part file=MultipartBody.Part.createFormData(“media”,mediaFile.getName(),fileRequest);
call=jsonPlaceHolderApi.uploadMedia(日期时间请求、标题请求、文件);
}
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
}
@凌驾
失败时公共无效(调用、可丢弃){
System.out.println(可丢弃);
}
});

我去网上看了如何在网上解决问题,但是当我输入我的代码或错误或null时,你确定文件
com.android.providers.downloads.documents/document/2767
存在吗?@donquih0t我从我的存储器中选择一张图片,它显示在我的图像视图中,因此文件存在,没有扩展名(PNG、JPG或JPEG等)为了你选的文件。我不知道它在你的脸上是怎么表现出来的ImageView@Shashanth我已经设法解决了这个问题,但现在说(权限被拒绝)如果您的测试设备的Android版本是API 23(棉花糖)或更高版本,您需要请求运行时权限(在您的情况下是读取存储),那么只有您可以从存储访问文件。有关更多信息,请参阅此处的官方网站