[ 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
728x90
반응형
'언어 > JAVA' 카테고리의 다른 글
[ Java ] Can't create cache file! 오류 해결 방법 (0) | 2022.01.04 |
---|---|
[ Java ] 자바 - 저장된 이미지 파일 변환 후 사이즈 조정 (0) | 2020.11.26 |
[ Java ] Spring redirect POST방식 (0) | 2020.04.08 |
[ Java ] Eclipse Ctrl C, Ctrl V 렉 현상 해결 방법 (0) | 2020.03.30 |
[ Java ] Controller에서 다른 Controller redirect 방법 (0) | 2020.03.27 |