JAVA编码/解码base 64并在浏览器上呈现它或将其保存到文件中

时间:2013-08-06 11:31:57

标签: java image base64 decode encode

我使用AJAX将我的JSP之后的base64编码后的图像发送到servlet。在servlet端,我试图解码并将其保存到文件或渲染到浏览器。 我得到一个空的图像。这是我的servlet端代码

 String imageStr = request.getParameter("image");
 byte[] decoded = Base64.decodeBase64(imageStr);

  String path = "D:\\myImage.png";
    try {
    OutputStream out1 = new BufferedOutputStream(new FileOutputStream(path));
        out1.write(decoded);
    } finally {


    }

我得到了一张图片,但它是空的。

1 个答案:

答案 0 :(得分:2)

尝试关闭流,它应该刷新所有缓冲的数据:

String imageStr = request.getParameter("image");
byte[] decoded = Base64.decodeBase64(imageStr);

String path = "D:\\myImage.png";
OutputStream out1 = null;

try {
    out1 = new BufferedOutputStream(new FileOutputStream(path));
    out1.write(decoded);            
} finally {
    if (out1 != null) {
        *out1.close();*
    }
}

确保decoded数组确实包含一些数据。