我使用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 {
}
我得到了一张图片,但它是空的。
答案 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
数组确实包含一些数据。