0

我们有包含 Base64 编码图像的日志文件。我想处理这些日志文件并提取 base64 编码的“东西”,对其进行解码并将其存储为“真实”图像文件。

我一直在寻找如何做到这一点,因为除了使用 Sequence*OutputFormat 类之外,没有办法从 hadoop 生成图像文件。

简而言之,我的问题是,是否可以在不编写自定义 OutputFormat 的情况下从 hadoop 的 base64 编码文件生成 jpg 文件?

亲切的问候/约翰

4

1 回答 1

0

不确定“自定义输出格式”是什么意思,但这是我在我的网络应用程序中所做的(尽管与 hadoop 无关)。HTH。

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();
    }
}
于 2012-09-15T02:56:20.207 回答