이미지 미리보기 질문입니다.
- 작성자 :
- 정*진
- 작성일 :
- 2010-11-15 17:27:43
- 조회수 :
- 3,364
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
이미지 미리보기 기능을 구현할려고 하는데..
public void getImageInf(Map<String, Object> commandMap, HttpServletResponse response) throws Exception {
String atchFileId = (String)commandMap.get("atchFileId");
String fileDetailSn = (String)commandMap.get("fileDetailSn");
FileVO vo = new FileVO();
vo.setAtchFileId(atchFileId);
vo.setFileDetailSn(fileDetailSn);
FileVO fvo = fileService.selectFileInf(vo);
File file = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
FileInputStream fis = new FileInputStream(file);
BufferedInputStream in = new BufferedInputStream(fis);
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
int imgByte;
while ((imgByte = in.read()) != -1) {
bStream.write(imgByte);
}
in.close();
String type = "";
if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) {
// if ("jpg".equals(EgovStringUtil.lowerCase(fvo.getFileExtsn()))) {
// type = "image/jpeg"; //TODO 정말 이런걸까?
// } else {
// type = "image/" + EgovStringUtil.lowerCase(fvo.getFileExtsn());
// }
type = "image/jpeg";
} else {
//log.debug("Image fileType is null.");
}
response.setHeader("Content-Type", type);
response.setContentLength(bStream.size());
bStream.writeTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}
위 소스처럼 이미지 미리보기를 구현하면 첨부파일 처럼 나옵니다.
파일 아이디나 파일명은 제대로 넘어 옵니다.
무엇이 문제인가요~?
public void getImageInf(Map<String, Object> commandMap, HttpServletResponse response) throws Exception {
String atchFileId = (String)commandMap.get("atchFileId");
String fileDetailSn = (String)commandMap.get("fileDetailSn");
FileVO vo = new FileVO();
vo.setAtchFileId(atchFileId);
vo.setFileDetailSn(fileDetailSn);
FileVO fvo = fileService.selectFileInf(vo);
File file = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
FileInputStream fis = new FileInputStream(file);
BufferedInputStream in = new BufferedInputStream(fis);
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
int imgByte;
while ((imgByte = in.read()) != -1) {
bStream.write(imgByte);
}
in.close();
String type = "";
if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) {
// if ("jpg".equals(EgovStringUtil.lowerCase(fvo.getFileExtsn()))) {
// type = "image/jpeg"; //TODO 정말 이런걸까?
// } else {
// type = "image/" + EgovStringUtil.lowerCase(fvo.getFileExtsn());
// }
type = "image/jpeg";
} else {
//log.debug("Image fileType is null.");
}
response.setHeader("Content-Type", type);
response.setContentLength(bStream.size());
bStream.writeTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}
위 소스처럼 이미지 미리보기를 구현하면 첨부파일 처럼 나옵니다.
파일 아이디나 파일명은 제대로 넘어 옵니다.
무엇이 문제인가요~?
A
안녕하세요.. 정영진님..
이미지 파일에 대한 MimeType 지정이 적용되지 않은 것 같습니다.
우선 다음 코드를 setHeader 지정 전에 추가해 보시기 바랍니다.
response.setContentType(type);
그럼.. 즐거운 하루되십시오.
감사합니다.
이미지 파일에 대한 MimeType 지정이 적용되지 않은 것 같습니다.
우선 다음 코드를 setHeader 지정 전에 추가해 보시기 바랍니다.
response.setContentType(type);
그럼.. 즐거운 하루되십시오.
감사합니다.