2012-11-10 3 views

답변

1

. 대신 서블릿 응답받은대로 스트리밍 : 제가 아파치 공용 IOUtils (필요하지만, 도움이되지 않음)를 사용하고

InputStream is = new URL(imgUrl).openStream(); 
OutputStream os = servletResponse.getOutputStream(); 

IOUtils.copy(is, os); 
is.close(); 

.

2

당신이 (당신의 이미지 소스를 숨길 서버뿐만 아니라 클라이언트에서 액세스 할 수있는 경우, 그냥 원격 서버에 응답을 가리켜 줄 필요가없는 경우 등 이미 URL이 있음) => 먼저 서버에 다운로드 할 필요는 없지만 클라이언트는 직접 리소스에 액세스 할 수 있습니다.> 리소스를 낭비하지 마십시오. 당신은 여전히 ​​첫 번째 서버에 다운로드해야하는 경우

그러나, 다음 포스트는 도움이 될 수 있습니다 : 그것은 서블릿에서 이미지의 중간 버퍼링을하지 않도록하는 것이 중요합니다 Writing image to servlet response with best performance

0

전체 솔루션 :지도를 다운로드하고 파일에 저장.

String imgUrl = "http://maps.googleapis.com/maps/api/staticmap?center=-15.800513,-47.91378&zoom=11&size=200x200&sensor=false"; 
    InputStream is = new URL(imgUrl).openStream(); 
    File archivo = new File("c://temp//mapa.png"); 
    archivo.setWritable(true); 
    OutputStream output = new FileOutputStream(archivo); 
    IOUtils.copy(is, output); 
    IOUtils.closeQuietly(output); 
    is.close(); 
관련 문제