gpt4 book ai didi

java - 从 java servlet 提供 png 不显示

转载 作者:太空宇宙 更新时间:2023-11-04 14:26:30 25 4
gpt4 key购买 nike

我想将 html Canvas 上传到 java servlet 并将 Canvas 数据作为 png 图像返回。我的问题是 servlet 的响应不正确,因此未呈现为图像。不过,将文件保存在磁盘上效果很好。

我做错了什么?我需要设置更多标题吗?内容长度?

public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{
BufferedImage bfi = null;
OutputStream out = null;
PrintWriter htmlOut = null;
try{
response.setContentType("image/png");

String img64 = (String) request.getParameter("base64image");
byte[] decodedBytes = DatatypeConverter.parseBase64Binary(img64 );
bfi = ImageIO.read(new ByteArrayInputStream(decodedBytes));
out = response.getOutputStream();
ImageIO.write(bfi, "png", out);

//Save on disk
File outputfile = new File("webapps/saved.png");
ImageIO.write(bfi , "png", outputfile);


}catch(Exception e){
//ERROR HANDLING
}
finally{
if(bfi != null){
bfi.flush();
}
if(out != null){
out.flush();
out.close();;
}
if(htmlOut != null){
htmlOut.close();
}
}

}

最佳答案

也许我是瞎子,但我只是看不到您在响应对象上设置 Content-Length header 。

关于java - 从 java servlet 提供 png 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com