将base64解码为jpg图像

h43kikqp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(396)

我们有日志文件,即包含base64编码的图像。我想处理这些日志文件,提取base64编码的“东西”,解码,并存储为“真正的”图像文件。
我一直在寻找如何做到这一点,因为除了使用sequence*outputformat类之外,似乎没有办法从hadoop生成图像文件。
简而言之,我的问题是,是否可以从hadoop的base64编码文件生成jpg文件,而不必编写自定义输出格式?
谨致问候/约翰

lawou6xi

lawou6xi1#

我不知道你说的“自定义输出格式”是什么意思,但这是我在我的web应用程序中所做的(但与hadoop无关)。嗯。

import sun.misc.BASE64Decoder;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;

public static void storeImage(String imageBase64, String path) {
    imageBase64 = imageBase64.replace("\n", "");
    try {
        new BASE64Decoder().decodeBufferToByteBuffer(imageBase64);
        OutputStream out = new FileOutputStream(path);
        PrintStream p = new PrintStream(out);
        p.write(new BASE64Decoder().decodeBuffer(imageBase64));
        p.flush();
        p.close();

    } catch (Exception e) {
        log.error("Error storing image.", e);
        e.printStackTrace();
    }
}

相关问题