Java로 웹 응용 프로그램을 개발 중입니다. 이 애플리케이션에서는 자바로 웹 서비스를 만들었습니다. 그 webservice에서는 base64 형식으로 이미지 목록을 반환하는 하나의 webmethod를 만들었습니다. 메서드의 반환 유형은 Vector입니다. 웹 서비스 테스터에서 SOAP 응답을 xsi:type="xs:base64Binary"
으로 볼 수 있습니다. 그런 다음 응용 프로그램에서이 웹 메서드를 호출했습니다. 내 코드에 어떤 실수가자바에서 이미지를 바이트 배열로 변환하는 방법?
java.lang.ClassCastException: [B cannot be cast to java.lang.String" on line String img = (String)itr.next();
있습니까 : 나는 오류가 발생하고이 코드에서
SBTSWebService webService = null;
List imageArray = null;
List imageList = null;
webService = new SBTSWebService();
imageArray = webService.getSBTSWebPort().getAddvertisementImage();
Iterator itr = imageArray.iterator();
while(itr.hasNext())
{
String img = (String)itr.next();
byte[] bytearray = Base64.decode(img);
BufferedImage imag=ImageIO.read(new ByteArrayInputStream(bytearray));
imageList.add(imag);
}
: 나는 다음과 같은 코드를 사용? 또는 실제 형식으로 이미지를 가져 오는 다른 방법이 있습니까? 위의 문제를 해결할 수있는 코드 또는 링크를 제공해 줄 수 있습니까?
참고 : - 나는 이미이 질문을 떨어 뜨린하고 다음 코드
Object next = iter.next();
System.out.println(next.getClass())
이 코드를 시도하고 웹 서비스에서 byte[]
로 출력을 얻었다을 시도하는 suggetion을 얻었다. 그러나 나는이 바이트 배열을 실제 이미지로 변환 할 수 없다. 이미지를 실제 형식으로 가져 오는 다른 방법이 있습니까? 위의 문제를 해결할 수있는 코드 또는 링크를 제공해 줄 수 있습니까?
제발 내가 이해할 수없는이 질문을 편집하십시오! ... 코드를 올바르게 작성하십시오. – RubyDubee