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

在Android中将编码的base64图像转换为文件对象

戎亦
2023-03-14

我正在尝试使用AndroidImageSlider库,并用我下载的base64字符串的图像填充它。

String imageData;
byte[] imgBytesData = android.util.Base64.decode(imageData, android.util.Base64.DEFAULT);

共有1个答案

敖淮晨
2023-03-14

您需要将file对象保存到磁盘中,这样才能正常工作。此方法将ImageData字符串保存到磁盘,并返回关联的File对象。

public static File saveImage(final Context context, final String imageData) {
    final byte[] imgBytesData = android.util.Base64.decode(imageData,
            android.util.Base64.DEFAULT);

    final File file = File.createTempFile("image", null, context.getCacheDir());
    final FileOutputStream fileOutputStream;
    try {
        fileOutputStream = new FileOutputStream(file);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return null;
    }

    final BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(
            fileOutputStream);
    try {
        bufferedOutputStream.write(imgBytesData);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    } finally {
        try {
            bufferedOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return file;
}

它在应用程序的“缓存”目录中创建一个临时文件。但是,一旦不再需要该文件,您仍有责任将其删除。

 类似资料:
  • 我必须将对象作为有效负载发送到后端API。如何将Base64图像文件URI转换为下面提到的文件对象格式?我试图寻找其他解决方案,但这些解决方案都是Blob到文件转换或base64数据url转换。谁能帮忙吗? Base64图像文件URL 这需要转化为 文件对象

  • 问题内容: 您能否指导我如何将图像从URL转换为base64编码? 问题答案: 我认为应该是:

  • 我想把base64编码的字符串转换成位图,这样我就可以把它放在图像视图中,但是得到的错误像

  • 问题内容: 我有一个要求用户将其图像上传到哪里,我必须将其转换为某种内容并将其发送到.Net REStful服务。我是angular js的新手。有人可以帮忙吗 问题答案: 我建议您使用 https://github.com/ninjatronic/angular- base64 。 在按照说明使用该库之后,您可以简单地调用: 不要忘记在模块中注入:

  • 问题内容: 我有一个mongoDB数据库,并且恢复了对应于我的Image的base64数据。 我不知道如何将base64数据转换为Image。 问题答案: 如果您想在网页中使用它,只需将base64编码的图像放入HTML文件即可。 有关更多信息,请参见Wikipedia。

  • 问题内容: 我正在尝试将base64图像字符串转换为图像文件。 使用以下代码将其转换为图像文件: 但是我遇到了错误,这是怎么了? 问题答案: 问题是编码内容中包含该内容。当base64函数对其进行解码时,这将导致无效的图像数据。像这样在解码字符串之前先删除函数中的数据。