1

我正在使用 AJAX 从我的 JSP 向 servlet 发送经过 base64 编码的图像。在 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 {


    }

我得到一个图像,但它是空的。

4

1 回答 1

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数组确实包含一些数据。

于 2013-08-06T12:17:20.480 回答