BufferedImage 및 imageIO.write를 통해 생성 된 동적 이미지를 보내야합니다. byteArray는 httpsevletresponse의 servletoutputstream에 기록됩니다. content-type은 image/jpeg로 설정되고 인코딩은 httpsevletresponse 객체에서 utf-8로 설정됩니다. weblogic12c에서 servletoutputstream의 일부로 동적 이미지를 보내는 방법
그러나
sevletOutputStream.write (b)는, 나는 java.nio.charset.MalFormedInputException 얻고있는 동안 : 입력 길이 :1 나는 UTF-16으로 인코딩을 설정해야합니까합니다.
이 오류는 jdk 1.7.0_45가있는 weblogic 12c 서버에서만 발생합니다. 동일한 코드 바람둥이
스택 트레이스뿐만 아니라 다른 응용 프로그램 서버에 노력하고 있습니다
: 예외 추적을 같은 당
<captchaBytes=[[email protected]>
java.nio.charset.MalformedInputException: Input length = 1>
<at java.nio.charset.CoderResult.throwException(CoderResult.java:277)>
<at weblogic.servlet.internal.CharChunkOutput.write(CharChunkOutput.java:116)>
<at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:148)>
<at weblogic.servlet.jsp.BodyOutputStream.write(NestedBodyResponse.java:54)>
<at java.io.OutputStream.write(OutputStream.java:75)>
코드 조각 아래 :
Byte[] imageBytes = get image byte from backend using ImageIO.write
httpServletResponse.setContentType("image/jpeg");
ServletOutputStream out;
httpServletResponse.setHeader("Cache-Control", "no-store");
httpServletResponse.setHeader("Pragma", "no-cache");
httpServletResponse.setDateHeader("Expires", 0);
httpServletResponse.setCharacterEncoding("UTF-8");
out = httpServletResponse.getOutputStream();
out.flush();
out.write(imageBytes); \\ Error Occured here
소스 코드 및 스택 트레이스가 없으면 어떤 일이 일어나고 있는지 추측 할 수 없습니다. –
Stacktrace 및 코드 추가 – Harshit
이 경우에는 전체 스택 트레이스를 선호합니다. 이것은 매우 짧습니다. btw는 이진 데이터를 전달할 때 문자 인코딩을 설정하는 것은 의미가 없습니다. –