【问题标题】:Android error reading file from storageAndroid从存储中读取文件时出错
【发布时间】:2015-03-23 01:15:43
【问题描述】:

我正在尝试将文件读入位图中,但出现此异常。我检查了位置,文件在那里。我可以将文件写入该位置,只是不能将其读回。

E/BitmapFactory(23020): Unable to decode stream: java.io.FileNotFoundException:
file:/storage/emulated/0/Pictures/JPG_20150322_150618_-1377838390.jpg: 
open failed: ENOENT (No such file or directory)

我的清单中有正确的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

这是创建文件路径的代码

File storageDir = Environment.getExternalStoragePublicDirectory(
    Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(timestamp, ".jpg", storageDir);

mCurrentPhotoPath = "file:" + image.getAbsolutePath();

下面是读取文件的代码:

BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);

【问题讨论】:

    标签: android file permissions


    【解决方案1】:
    file:
    

    根本不需要。正确的路径是:

    /storage/emulated/0/Pictures/JPG_20150322_150618_-1377838390.jpg
    

    现在一切正常

    【讨论】:

      【解决方案2】:

      你的路错了

      使用 file:// 代替 file: 或者不需要添加 append this

      【讨论】:

      • 其实 WRITE_EXTERNAL_STORAGE 暗示你可以使用 READ_EXTERNAL STORAGE
      • 我没有这个。如果你知道的话,请分享我的参考文档
      • 请从这里删除关于权限的错误信息,然后关于路径的剩余点是一个有用的答案。
      猜你喜欢
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多