[ Java ] 로컬(서버)에 저장되어 있는 사진 JSP에 출력하기

2020. 8. 25. 18:01언어/JAVA

728x90
반응형
SMALL

사용자가 사진을 업로드하여 서버에 저장이 되고
저장된 내용을 다시 보여줘야 할 때 사용할 수 있는 방법입니다.

 

경로를 그대로 적으면 접근이 불가능하기도 하고 

보안에 취약하기 때문에 Controller에서 처리하도록 했습니다.

 

우선 jsp 소스입니다.

<li class="photo">
	<img src="/loadImage.do?fileId=1"/>
</li>
<li class="photo">
	<img src="/loadImage.do?fileId=2"/>
</li>

fileId는 파일 식별자를 넘겨서 조회하도록 하였습니다.
각자 구현한 코드에 맞게 ID나 NAME 등을 넘겨 조회하도록 합니다.

 

Java 소스입니다.

@RequestMapping(value="/loadImage.do")
public String displayPhoto(@RequestParam(value="fileId") String fileId, HttpServletResponse response)throws Exception{

	//DB에 저장된 파일 정보를 불러오기
	Map<String, String> map = new Map<String, String>();
    map.put("fileId", fileId);
	Map<String, String> result = 첨부파일검색서비스.첨부파일검색(map);
    
	response.setContentType("image/jpg");
    ServletOutputStream bout = response.getOutputStream();
    //파일의 경로
    String imgpath = map.get("path")+File.separator+result.get("fileName");
    FileInputStream f = new FileInputStream(imgpath);
    int length;
    byte[] buffer = new byte[10];
    while((length=f.read(buffer)) != -1){
    	bout.write(buffer,0,length);
    }
    return null;
}

앞 부분은 파일 경로와 파일명을 알기 위해 DB에 저장된 정보를 불러왔습니다.
경로와 이름을 알아야 하단의 FileInputStream 객체를 생성할 수 있습니다.

 

 

출처 : https://djusti.tistory.com/2

 

JAVA WAS 서버단에서 이미지 처리하기

요즘은 WEB서버와 WAS 서버가 분리된 경우가 많다. 예전에는 WAS 서버 한곳에서 이미지와 HTML , JSP등을 다 처리하였지만 요즘은 WEB서버에서 HTML, JS, CSS, IMAGE등을 처리하고 WAS에서 JSP 등 동적인 페이�

djusti.tistory.com

 

728x90
반응형