从 ACTIVITY_GET_CONTENT (Android) 获取 base64 URI 结果
get base64 URI result from ACTIVITY_GET_CONTENT (Android)
在我正在开发的 android 应用程序中,我希望用户从他们的图库中选择一张图片,为此,我使用以下代码:
private void takePictureFromGallery(int pick) {
startActivityForResult(
Intent.createChooser(new Intent(Intent.ACTION_GET_CONTENT).setType("image/*"), "Choose an image"), pick);
}
我正在使用 onActivityResult 来检测何时选择了图像。
因为我想要图片的URI,所以调用
Uri selectedImageUri = data.getData();
但是只有 returns "/document/image:28" 作为输出。
代替接收表示图像的 Base64 类型 URI(以 "data:image/gif;base64,{base64 encoded image}" 开头的 URI)的过程是什么?
提前致谢。
Uri selectedImageUri = data.getData();
那句话没用。这类似于认为 /questions/34245601/get-base64-uri-result-from-activity-get-content-android
(此网页 URL 的路径部分)在某种程度上是孤立的。
What would be the process of instead receiving a Base64-type URI (one that begins with "data:image/gif;base64,{base64 encoded image}") that represents the image?
第 1 步:在 Uri
上使用 ContentResolver
到 openInputStream()
。
第 2 步:读入字节并将它们转换为 base64,将它们附加到具有所需前缀的 URL 的末尾。
第 3 步:为 OutOfMemoryErrors
做好准备,因为您的字符串可能没有足够的堆 space,具体取决于堆的状态和用户使用的图像大小选择。
在我正在开发的 android 应用程序中,我希望用户从他们的图库中选择一张图片,为此,我使用以下代码:
private void takePictureFromGallery(int pick) {
startActivityForResult(
Intent.createChooser(new Intent(Intent.ACTION_GET_CONTENT).setType("image/*"), "Choose an image"), pick);
}
我正在使用 onActivityResult 来检测何时选择了图像。 因为我想要图片的URI,所以调用
Uri selectedImageUri = data.getData();
但是只有 returns "/document/image:28" 作为输出。
代替接收表示图像的 Base64 类型 URI(以 "data:image/gif;base64,{base64 encoded image}" 开头的 URI)的过程是什么?
提前致谢。
Uri selectedImageUri = data.getData();
那句话没用。这类似于认为 /questions/34245601/get-base64-uri-result-from-activity-get-content-android
(此网页 URL 的路径部分)在某种程度上是孤立的。
What would be the process of instead receiving a Base64-type URI (one that begins with "data:image/gif;base64,{base64 encoded image}") that represents the image?
第 1 步:在 Uri
上使用 ContentResolver
到 openInputStream()
。
第 2 步:读入字节并将它们转换为 base64,将它们附加到具有所需前缀的 URL 的末尾。
第 3 步:为 OutOfMemoryErrors
做好准备,因为您的字符串可能没有足够的堆 space,具体取决于堆的状态和用户使用的图像大小选择。