当前位置: 首页 > 知识库问答 >
问题:

/storage/emulated/0/Pictures

柳景胜
2023-03-14

我尝试使用以下方法从URI获取路径:

 public  String getPath(Uri uri) {

    String result;
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    if (cursor == null) { // Source is Dropbox or other similar local file path
        result = uri.getPath();
    } else {
        cursor.moveToFirst();
        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
        result = cursor.getString(idx);
        cursor.close();
    }
    return result;

}

当我尝试压缩位图时:

bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);

我得到这个错误:

05-18 16:58:56.346 19080-19080 E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Pictures/IMG_20160518_165856.jpg: open failed: ENOENT (No such file or directory)

05-18 16:58:56.346 19080-19080/E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Pictures/IMG_20160518_165856.jpg: open failed : ENOENT (No such file or directory)

05-18 16:58:56.356 19080-19080/E/JHEAD: can't open '/storage/emulated/0/Pictures/IMG_20160518_165856.jpg'

共有1个答案

姚高爽
2023-03-14
//Change this

public  String getPath(Uri uri) {

String result;
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
    result = uri.getPath();
} else {
    cursor.moveToFirst();
    int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
    result = cursor.getString(idx);
    cursor.close();
}
return result;

}

//To this and try

public  String getPath(Uri uri) {

String result;
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
    result = uri.getPath();
} else {
    cursor.moveToFirst();
    int idx = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
Log.e("Tag", "idx " + idx);
    result = cursor.getString(idx);
    cursor.close();
}
return result;

}
 类似资料:
  • 可以帮助任何人回答这个(我认为很简单)问题吗?我是Android系统的纽比。谢谢你!

  • 你好,我试图保存图片从网址在我的应用程序,但当我试图访问内存放置数据,一个错误出来 无法解码流java.io.FileNotFoundException/storage/emulated/0打开失败:enoint(没有这样的文件或目录) 这是我的DownloadManager课程 这是我的下载请求类: 这是我的G班:

  • 我知道这是一个老旧的,但我似乎没有找到一种方法来管理它... 我必须捕获一个相机图像,以供以后的IO处理,将其传输到一个网络共享,但在此之前我失败了很多...在阅读了一些文章之后,我找到了在KitKat上实际执行的方法,检查运行的SDK,并且它工作了…但是,现在我也在牛轧糖设备上测试它。 对于牛轧糖,我已经读到应该使用提供程序,并且我正在尝试... 捕获的映像必须存储在一个特定的文件夹中,该文件夹

  • 问题内容: 我正在尝试使用android中的异步任务下载和存储图像,当单击下载按钮时出现以下错误。 WallpaperActivity.java Android目标Api 7.1.1 清单中添加的权限 android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE 问题答案: 您需要为OS Mar

  • 我正试图在android中使用异步任务下载和存储图像,当点击下载按钮时得到以下错误。 null Android.permission.write_external_storage

  • 通常,从图库中选择一个视频并用库剪切,问题是我需要将剪切的视频(它存储在外部存储器:/storage/emulated/0/test_video.mp4中)转换为base64,这就是它失败的地方。我该怎么解决呢?我已经将权限放在清单上,并以编程方式请求这些权限。 而我在logcast中得到的只有: