clob 이미지 파일로 다운로드

by 토리 posted Nov 11, 2022


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java 


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

clob 로 이미지 파일을 저장하고있습니다(증명사진..)

 

이를 jsp 를 통해서 다운로드 받고 싶은데

 

로컬 pc 에 다운로드시 지원하지 않는 유형으로 뜹니다.

 

아래는 다운로드 소스입니다. ~ 

 

아래외에 .. blob 로 변환해서 다운로드시   ces 쪽에 경로를 못찾거나, 지원하지 않는 유형의 파일로 다운로드 됩니다.

CHAR_TO_BLOB(CLOB_TO_CHAR(sajin_clob)) 

 

방법이 없을까요?

 

 

                        Clob clob = rs.getClob(i+1);
                                        try{
                                                InputStream inStream =(InputStream)clob.getAsciiStream(); // DB Clob 

                                               response.reset();
                                              response.setContentType("application/octet-stream");
                                              response.setContentType("application/unknown"); 
                                              response.setContentType("image/jpg");


                                              String filename2 = "clob_file_name.png";
                                              response.setHeader("Content-Disposition","attachment;filename=" + filename2 + ";"); 

                                              byte[] buf = new byte[1024];
                                              int sizea=0;
                                              ServletOutputStream outputStream = response.getOutputStream();
                                             
                                              while((sizea=inStream.read(buf,0,buf.length)) != -1){
                                                outputStream.write(buf,0,sizea);
                                              }
                                              outputStream.flush();
                                              outputStream.close();
                                              inStream.close();   
                                        }catch(Exception e){
                                            System.out.println(e);
                                        }