티스토리 뷰
요즘은 WEB서버와 WAS 서버가 분리된 경우가 많다. 예전에는 WAS 서버 한곳에서 이미지와 HTML , JSP등을 다 처리하였지만 요즘은 WEB서버에서 HTML, JS, CSS, IMAGE등을 처리하고 WAS에서 JSP 등 동적인 페이지를 처리하게 된다.
간혹 이미지가 웹서버가 아닌 WAS에 위치해 있는 경우가 있다.
보통은 파일 업로드를 한 경우 WEB서버가 아닌 WAS서버에 저장이 된다.
JAVA SERVER단에서 UPLOAD 처리를 하기 때문에 ..
WEB서버에 있는 이미지 파일은 불러 오기가 간단하다.
왜냐면 WEB서버에 있는 이미지 파일은 웹 경로로 접근이 가능하기 때문이다.
EX) < img src = '/FILE/test.jpg' />
이런식으로 접근이 가능하다.
하지만 was에 존재하는 경우 URL로 접근이 불가능하다.
그럼 어떻게 해야 접근할수 있을까?
WAS JAVA에서 이미지를 읽어와 스트림형태로 뿌려주면 된다..
간단히 소스를 첨부함.
---------------------------------------------------------------------------------------------
RequestMapping("/userpic.do")
public String listAttach(HttpSession session,HttpServletResponse response ,EduVO eduVO ) throws Exception {
UserInfo userInfo = (UserInfo) UserInfo.getSessionInfo();
response.setContentType( "image/gif" );
ServletOutputStream bout = response.getOutputStream();
String imgpath = fileRepositoryPath + File.separator + fileUserPicPath + File.separator + "nophoto.jpg";
String[] exts = {".bmp", ".jpg", ".gif", ".png", ".jpeg"};
String idno=userInfo.getIdno();
if(eduVO.getIdno()!=null && ! "".equals(eduVO.getIdno()) )idno=eduVO.getIdno();
for(String ext : exts ){
File f = new File(fileRepositoryPath + File.separator + fileUserPicPath + File.separator + idno +ext);
if(f.exists()){
imgpath = fileRepositoryPath + File.separator + fileUserPicPath + File.separator + idno +ext;
break;
}
}
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;
}
---------------------------------------------------------------------------------------------
소스는 정말 간단하다..
이미지가 저장된 물리적인 경로에 파일 접근하여 읽어서 FileInputStream 에 저장만 하면 되기 때문이다.
워낙 간단한 소스라 별도로 소스 설명은 하지 않겠음.
이런식으로 was서버에 저장된 이미지를 읽어오려면
< img src="/userpic.do" >
이런식으로 img 태그 src 부분에 서블릿 경로를 적어주면 된다.
'JAVA(프로그래밍)' 카테고리의 다른 글
자바 내장 데이터형 알아보자 (0) | 2018.01.02 |
---|---|
java 기초강좌 조건문 알아보자 (0) | 2018.01.02 |
자바스크립트에서 for 루프 고찰 (0) | 2018.01.01 |
자바 이클립스 다운로드 최신판 설치하기 (0) | 2017.12.28 |
JAVA HttpClient 사용하기(애플리케이션 프로그램에서 웹페이지 호출) (0) | 2017.12.27 |
- Total
- Today
- Yesterday
- java 노트패드
- Java
- java문자열자르기
- 자바 랩퍼
- File Class
- java StringBuffer
- java 메모장
- java treemap
- java Enumeration
- java File
- java tihs
- 자바
- java LinkedHashMap
- 자바 패키지
- java 네트워크
- java wrapper
- 객체파일저장
- java substring
- java join
- java텍스트파일저장
- java문자열저장
- java Properties
- java배열
- java 소켓
- linkHashMap
- java ArrayList
- java iterator
- java wrapper class
- java Vector
- java replaceAll
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |