繁体   English   中英

Android java.io.FileNotFoundException没有这样的文件或>目录,尽管已授予权限

[英]Android java.io.FileNotFoundException No such file or > directory, although permissions are granted

我正在尝试上传以前从相机拍摄的图像,并且可以确认已获得READ_EXTERNAL_STORAGE的权限。 我在Gradle中使用minSdkVersion 23。

图像的Uri保存在数据库中,当我尝试使用此Uri将其放入ImageView中时。

这是我请求访问给定Uri文件的位置

    if (ContextCompat.checkSelfPermission(context ,
                    Manifest.permission.READ_EXTERNAL_STORAGE)
            != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(context as Activity,
                        Manifest.permission.READ_EXTERNAL_STORAGE)) {
        } else {
            // No explanation needed, we can request the permission.
            ActivityCompat.requestPermissions(context,
                    arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), REQUEST_PERMISSION_READ
                    )

        }
    } else {
        val imageArray  = post.postImages
        uploadImages(imageArray!!)

    }

Uri保留在JSONArray中,因此我删除了不需要的字符并准备要上传的文件:

  val singleImage = imageUri
  val substr = singleImage.replace("\"","").split("file://").last()
  println("substr $substr")
  var finalFile: File? = File(substr)

  if(finalFile.exists()){
        println("finalFile $finalFile")
  }else{
      println("finalFile does not exist")
   }

I / System.out:substr /storage/emulated/0/customFolder/picture.jpg

I / System.out:finalFile /storage/emulated/0/customFolder/picture.jpg

这是打印输出,以检查文件是否确实存在,看起来好像不存在。

java.io.FileNotFoundException:/storage/emulated/0/customFolder/picture.jpg(无此类文件或目录)

尽管浏览设备上的文件时我确实可以看到图像,并且当使用同一Uri将其放入图像视图时,图像确实会显示出来。

下一步是上传文件(我使用的上传是由图书馆快速Android网络处理的)

 AndroidNetworking.upload("http://myUrl.com")
                   .addMultipartFile("file", finalFile)
                   .setPriority(Priority.HIGH)
                   .build()

考虑到我的文件不存在,一旦文件开始上传,我将收到错误消息崩溃:

FileNotFoundException:/storage/emulated/0/customFolder/picture.jpg(无此类文件或目录)

我收到此错误消息:

错误:com.androidnetworking.error.ANError:java.lang.IllegalStateException:已关闭

我不确定为什么无法识别和/或创建文件。 谁能识别为什么我的文件无法创建的原因?

我遇到的问题是由使用Fast Android Networking库的错误引起的。 我已将此问题标记给开发人员,他显然正在努力解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM