【问题标题】:get base64 URI result from ACTIVITY_GET_CONTENT (Android)从 ACTIVITY_GET_CONTENT (Android) 获取 base64 URI 结果
【发布时间】:2015-12-12 22:11:06
【问题描述】:

在我正在开发的一个 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();

但这只会返回“/document/image:28”作为输出。

改为接收代表图像的 Base64 类型 URI(以“data:image/gif;base64,{base64 编码图像}”开头的URI)的过程是什么?

提前致谢。

【问题讨论】:

    标签: android base64 uri android-gallery


    【解决方案1】:
    Uri selectedImageUri = data.getData();
    

    这种说法是没有用的。这类似于认为/questions/34245601/get-base64-uri-result-from-activity-get-content-android(此网页的 URL 的路径部分)在某种程度上是孤立的。

    接收代表图像的 Base64 类型 URI(以“data:image/gif;base64,{base64 编码图像}”开头)的过程是什么?

    第 1 步:在 Uri 上使用 ContentResolveropenInputStream()

    第 2 步:读入字节并将它们转换为 base64,将它们附加到具有所需前缀的 URL 的末尾。

    第 3 步:为OutOfMemoryErrors 做好准备,因为您的字符串可能没有足够的堆空间,具体取决于堆的状态和用户选择的图像大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      相关资源
      最近更新 更多