如何解决Android 10 打开失败:ENOENT没有那个文件或目录
我遇到了 pdf 的问题,我想使用 Multipart 上传 pdf,但问题是当我传递文件路径时,android 10 给了我这个错误。
关于活动结果:
Uri uri = data.getData();
String src = uri.getPath();
File file = new File(src);
RequestBody requestBody = RequestBody.create(MediaType.parse("*/*"),file);
MultipartBody.Part body = MultipartBody.Part.createFormData("userfile",file.getName(),requestBody);
解决方法
context.contentResolver.openInputStream(uri).?use{
// read bytes and create requestbody here
}
不要在 api 29 及以上版本上使用 RequestBody.create(MediaType.parse("/"),file) ,因为它会尝试打开 inputteam 并抛出异常。(如果启用范围存储并且文件不是来自媒体)使用字节数组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。