2012-06-28 2 views
3

웹 서비스와 통신하는 WEBUI (HTML 및 DOJO 사용)가 있습니다. WEBUI에 필요한 데이터는 REST 호출을 사용하는 Java 웹 서비스에서 가져옵니다. 내 Java 웹 서비스에서 REST 응답 (xml)으로 이미지를 전송합니다.

IE (HTML/DOJO) <------ REST CALL(xml response) ----> Java WS on tomcat. 

가 나는 데이터의 목록이있는 경우, 각 이미지를 렌더링, I가 다시 HTTP 호출을해야 할, 전화

<AllData> 
<DataList> 
<type>A</type> 
<xcoord>20</xcoord> 
<ycoord>20</ycoord> 
<length>250</length> 
<width>350</width> 
<imageName>images/myPic.jpg</imageName> 
</DataList> 
</AllData> 

을위한 그러나이 경우 특정 데이터를 내 섬기는 사람.

대신 이미지 자체를 REST XML 응답에 포함시킬 수 있음을 알게되었습니다. ImageIO/BufferedImage 개의 Java 클래스를 통해 이미지를 읽을 수 있다는 것을 알고 있습니다. 그러나 동일한 데이터를 사용하여 읽은 데이터를 보내면 Dojo에서 이미지를 렌더링 할 수 있습니까?

REST Response (XML 또는 JSON)로 이미지를 보내고 Dojo를 사용하여 렌더링 할 수있는 다른 방법이 있다면 알려주십시오.

+0

나는 약간의 개선이있다 .. 나는 자바의 xml 응답에 이미지를 embedd하는 방법을 가지고있다. 이미지를 'BufferedImage'로 읽은 다음 'ByteArrayOutputStream'에 복사하고 나머지 POJO 클래스에 포함하십시오. 이것이 효율적인지, DOJO UI에서 같은 방식으로 렌더링하는지 잘 모르겠습니다. – Hebbar

답변

1

제가 생각할 수있는 한 가지는 Data URL입니다. 전체 이미지를 URL 형식으로 저장할 수 있습니다. 클라이언트에서 src="data:image/gif;base64,R0lGOD......과 함께 <img> 태그를 삽입하면 작업이 완료됩니다.

이 단점은 인코딩 오버 헤드가 많아서 요청을 저장하지만 전송할 데이터가 더 많다는 것입니다. CSS 파일에서이 방법을 작은 아이콘 용으로 만 사용했습니다.

하지만 다시 생각해 보겠습니다. 그 하나 더 요청 정말 나쁜가요? 그렇지 않은 경우 정상 URL 만 사용하여 위와 동일한 접근 방식을 사용할 수 있습니다 (웹에서 이미지에 액세스 할 수있는 경우).

관련 문제