UI에서 이미지를 표시하기 위해 html, ajax 및 struts 2를 사용하고 있습니다. 나는 행동으로부터 이미지의 바이트 []로 응답을 반환하고 이미지 소스와 연결하면 왜곡 된 값을 보여줍니다. 내가 스크립트에서 만드는 중이이미지에 왜곡 된 값이 표시됩니다.
아약스 호출 내가 이미지를 바이트의 배열을 반환하고하는 것은 내가 문제를 다시 한이
public void execute(ActionInvocation invocation) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(action.getCustomContentType());
response.getOutputStream().write(action.getCustomImageInBytes());
}
public byte[] getCustomImageInBytes() {
System.out.println("imageId" + imageId);
BufferedImage originalImage;
try {
originalImage = ImageIO.read(getImageFile("C:\\temp\\Desert.jpg"));
// convert BufferedImage to byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(originalImage, "png", baos);
baos.flush();
imageInByte = baos.toByteArray();
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return imageInByte;
}
당신은 어디베이스 64로 인코딩 할 수 없을 겁니다 아니면 outstream에 write()가 무료일까요 ?? – Adam
자바 측에서 스크립트 쪽에서 처리하기 때문에 base64로 인코딩하는 것이 필요합니까? – ankit