Android把文件Uri转换成Flie路径
2017-02-23 14:27
405 查看
在Android编程中经常用到这样的问题;
下面直接上代码
那么假如我们有一个图片的路径地址又该如何获得其Uri呢?
下面直接上代码
/** * 转换路径 * 把uri转化为 File路径 * @param context * @param uri * @return */ public static String getRealFilePath(final Context context, final Uri uri ) { if ( null == uri ) return null; final String scheme = uri.getScheme(); String data = null; if ( scheme == null ) data = uri.getPath(); else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) { data = uri.getPath(); } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) { Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null ); if ( null != cursor ) { if ( cursor.moveToFirst() ) { int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA ); if ( index > -1 ) { data = cursor.getString( index ); } } cursor.close(); } } return data; }
那么假如我们有一个图片的路径地址又该如何获得其Uri呢?
String type = Utils.ensureNotNull(intent.getType()); Log.d(TAG, "uri is " + uri); if (uri.getScheme().equals("file") && (type.contains("image/"))) { String path = uri.getEncodedPath(); Log.d(TAG, "path1 is " + path); if (path != null) { path = Uri.decode(path); Log.d(TAG, "path2 is " + path); ContentResolver cr = this.getContentResolver(); StringBuffer buff = new StringBuffer(); buff.append("(") .append(Images.ImageColumns.DATA) .append("=") .append("'" + path + "'") .append(")"); Cursor cur = cr.query( Images.Media.EXTERNAL_CONTENT_URI, new String[] { Images.ImageColumns._ID }, buff.toString(), null, null); int index = 0; for (cur.moveToFirst(); !cur.isAfterLast(); cur .moveToNext()) { index = cur.getColumnIndex(Images.ImageColumns._ID); // set _id value index = cur.getInt(index); } if (index == 0) { //do nothing } else { Uri uri_temp = Uri .parse("content://media/external/images/media/" + index); Log.d(TAG, "uri_temp is " + uri_temp); if (uri_temp != null) { uri = uri_temp; } } } }
相关文章推荐
- android图片文件的路径地址与Uri的相互转换
- Android 文件绝对路径和Content开头的Uri互相转换
- android图片文件的路径地址与Uri的相互转换
- android图片文件的路径地址与Uri的相互转换
- android图片文件的路径地址与Uri的相互转换方法
- android图片文件的路径地址与Uri的相互转换
- android图片文件的路径地址与Uri的相互转换
- android图片文件的路径地址与Uri的相互转换
- Android Uri和文件路径互相转换的实例代码
- Android Uri和文件路径互相转换
- Android将获取到文件的uri转换为字符串的路径
- android图片文件的路径地址与Uri的相互转换
- Android中选取文件后在onActivityResult中将intent中的Uri转换成文件的路径
- Android之图片压缩和Uri与String类型的路径转换,获取图片,文件大小的工具类
- android图片文件的路径地址与Uri的相互转换
- android图片文件的路径地址与Uri的相互转换
- android通过系统调用图片文件的Uri转换为绝对文件路径
- android自定义camera以及uri和文件路径之间的转换
- android实现Uri获取真实路径转换成File的方法
- URI 和 文件路径 的相互转换