2개의 답변일반적인 이미지 다운로드를 적용하고 diskcache 옵션을 주면 캐싱을 하기 때문에 충분히 큰 값을 지정해주면 굳이 db에 넣으실 필요가 없을 듯 합니다만. https://stackoverflow.com/questions/23280242/using-picasso-with-custom-disk-cache 굳이 db에 저장을 하신다면 1. http get protocal로 서버의 이미지를 다운로드 하여 파일로 생성 2. 파일의 데이터를 bitmap으로 로드 3. bitmap에서 bytearray 획득 4. db에 bytearray 값을 raw형식으로 저장 혹은 base64 encoding)연산하여 저장 순서로 하면 되며, 사용시엔 1. db에서 raw형식의 데이터를 읽어(base64로 저장시엔 decoding 수행) bytearray 형식의 데이터 획득 2. bytearray 로 bitmap 생성 3. imageview에 bitmap 설정 순으로 진행하시면 됩니다 익명사용자 님이 2019년 7월 15일 답변 윤관희
unread, Nov 8, 2001, 4:44:17 PM11/8/01 to 이미지를 DB에 저장하려면 어떻게 하죠? blueunread, Nov 12, 2001, 12:01:30 PM11/12/01 to 꼭 DB에 이미지를 저장해야 하는지요
? 왜냐면 이미지는 이외로(?) 양이 많은 관계로 DB에 부하를 많이 주는것으로 그래서 많은 분들이 DB에 이미지를 저장하는 것보다는 즉.... DB에 이미지를 넣는것 보다 이방법이 사용하시기 쉬울것 같은데........
미친병아리 (madchick)unread, Nov 13, 2001, 2:57:45 AM11/13/01 to 제가 알기로는 ASP에서 직접 BLOB 필드를 인서트 하고 가능하다면.. 무지한 제게 방법을 알려주세요.. 제가 알고 있는 방법이라고는 ASP 서버 컴포넌트를 만들어서 블루님이 답변 올려두신 것 처럼.. 굳이 웹 연동뿐만이 아니라 BLOB 필드는 DB에 부하를 아무래도 좀 더 줄테니까요.. 기람.. 미친병아리 서비였네용.. 삐약~ !!
DaulSoft Co., Ltd. 02-529-4722, 02-529-4723(FAX) http://www.neotest.com - Something beyond On-Line testing Industrial Engineering Dept. of Dankook Univ. 미친병아리의 프로그래머
이야기.. KISS~ !! (Keep It Small and Simple)
Alripicaunread, Nov 14, 2001, 12:03:11 AM11/14/01 to "미친병아리 (madchick)" <> wrote in message > 저도 binary를 데이터베이스에 저장해본적이 없어서 모르겠지만.. ^^; 데이터베이스에 binary를 저장... [...] 이하 전적으로 다른 모든 분의 의견에 동의합니다. ^^; > [...] 이미지 파일 불러오기업로드한 이미지를 로컬 디렉토리에 저장하고, 그 경로를 DB에 저장했다. 이제 그 경로를 통해, 이미지를 불러와서, View를 누를 시, 이미지가 보여지게 만들 것이다. front-end현재까지 View 페이지는 아래와 같다. Image Path가 잘 나오는 걸 확인했으므로, Image Path는 안보이게 하고, Image Path를 통해 이미지를 불러와서 보여주려고 한다. 현재 기본 Detail html 코드는 아래와 같다. img객체를 불러와서 그 값을 출력해 주는 형태이다. 이미지를 출력하기 위해 아래의 코드를 추가해준다.
component파일에 openFile, byteSize를 추가해준다. openFile(파일을 열기 위함)
byteSize(바이트 사이즈를 구하기 위함)
이 과정까지 하고 view를 누르면 아래와 같은 화면이 나온다. back-endview를 누르면 get 방식으로 id값이 전달된다. Resource.java 파일의 @GetMapping 부분으로 연결이 된다. 아래는 기본 Resource파일이다. Service 파일의 findOne 을 통해 Id별로 저장되어있는 DTO를 가져와서 리턴해준다. 그러면 Resource파일의 우리는 image_path를 다시 바이트파일로 만들어서 front-end쪽으로 넘겨줘야한다. image_path 값을 읽어와서, 파일이 어디 저장되어있는지 확인하고, 그 경로를 Path 객체로 만들어준다. Path 객체를 통해, File을 바이트로 읽어온다. DTO의 setter를 이용하여, 생성한 바이트 파일과, imageContentType 값을 넘겨준다. 그럼 front-end로 DTO가 전달되고, <img [src] /> 태그안에 imageContentType과 바이트파일을 넣어주면, 이미지가 제대로 출력됨을 볼 수 있다. 전체코드는 아래 주소에서 확인 할 수 있다.(img로 시작하는 부분만 (image와 upload-image는 아닙니다!!)) |