检索URI的PATH,以便我可以将其发布到我的网络服务器
用于启动浏览的代码
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, BROWSE_IMAGE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
用于检索所选图像的代码
if (RESULT_OK == resultCode &&
BROWSE_IMAGE_REQUEST_CODE == requestCode) {
Uri uri = data.getData();
Run Code Online (Sandbox Code Playgroud)
要发送到网络服务器的代码
File file = new File(uri.getPath());
new FileSystemResourceFile(file);
Run Code Online (Sandbox Code Playgroud)我目前能够从URI中检索PATH没有概率,/external/images/media/24但由于一些奇怪的原因,文件总是为空,请帮忙吗?
ari*_*ayu 19
我做这个方法来转换Uri从Intent.ACTION_GET_CONTENT实际路径:
public static String getRealPathFromUri(Activity activity, Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = activity.managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
Run Code Online (Sandbox Code Playgroud)
然后又转换成File:
Uri filePathFromActivity = (Uri) extras.get(Intent.EXTRA_STREAM);
filePathFromActivity = Uri.parse(FileUtil.getRealPathFromUri( (Activity) IntentActivity.this, filePathFromActivity));
File imageFile = new File(filePathFromActivity.getPath());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16400 次 |
| 最近记录: |