위지웍 사용하는데, 이미지 처리 방법

조회수 1557회

웹을 node.js + express 로 구현 중입니다.

위지웍이라는 것을 알아서 summernote 로 구현해보고 있습니다.

그런데 위지웍에서 본문 내용을

<p>안녕</p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAegAAAAgCAYAAADZnOthAAAMF2lDQ1BJQ0MgUHJvZmlsZ...">

이런 식으로 넘기길래 그대로 저장 후, html 형식으로 select 하여 로딩하니 그대로 이미지까지 불러올 수 있더라구요. 저 긴 코드가 이미지 자체 데이터인지...

  1. 보통 이미지 처리를 업로드 시키면 서버에 저장하고, 그 이미지 경로를 데이터베이스에 저장한 후, 로딩할 때 저장했던 이미지 경로로 불러오는 방법을 사용하나요?

  2. 위 같이 이미지 통째로 디비에 저장 후 불러 쓰는 방법은 어떤가요?

  3. 게시판 개발 관련하여 이미지 처리에 대해 이슈 조언 부탁드립니다.

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    위 방식은 base64로 바이너리(이미지) 데이터를 아스키로 인코딩 해서 텍스트 형태로 다루는 방법입니다.

    즉 이미지 자체가 맞습니다.

    위와 같이 처리하면 별도의 저장소를 만들지 않더라도 쉽게 첨부 이미지를 처리할 수 있으나 텍스트를 저장하는 디비 컬럼에 이미지 데이터가 저장되게 됨으로서 크기가 불필요하게 커질 수 있고 이미지 크기를 예측할 수 없기 때문에 컬럼 타입 설정에 제약이 생깁니다.

    구형 브라우저의 경우 이미지 크기 제한도 있고, 별도로 텍스트 데이터 등을 분석할 때도 불필요한 데이터가 됩니다.

    적어주신 1번 방법이 일반적인 구현입니다. 이 경우에이미지 경로가 웹서버 로컬 경로라면 웹서버를 N개로 확장했을 경우에 어느 서버에 해당 이미지가 존재하느냐 등 서비스 확장시에 다양한 문제가 발생합니다.

    서비스가 작을때는 서버간 데이터 공유를 위해서 nas등 공유 스토리지를 사용하는 경우가 많고, 서비스가 커지게 되서 이미지나 첨부 파일이 많아진다면 별도로 스토리지 서버를 구축하게 됩니다

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.