블로그 웹페이지를 만들고있는데 질문드립니다~
블로그 같은 커뮤니티를 만들고 있는 학생인데요.
블로그 글 같은 경우 DB에 데이터로 저장할 때,
텍스트는 그대로 저장하고, 첨부된 사진은 path만 테이블 로우에 같이 저장하려고 합니다. (mongodb 사용예정)
그런데 블로그 글 같은 경우는 보통 글을 작성하다가 사진을 삽입하고 글을 작성하다가 또 사진을 삽입할 수 있는 구조인데, 이는 DB에 어떻게 저장해 둬야할지 몰라서 질문 드립니다.
제가 혼자 생각해본 방법은
1. 글 본문 text에 해당하는 테이블 row 값에 사진의 경로까지 같이 끼워넣는 것입니다. \http://324.234.234.433\ 이런식으로요.
2. 사진을 삽입한 위치값을 하나의 테이블 속성으로 만들어서 저장합니다.
1번은 인젝션의 위험이 있을 것 같아서 좀 걱정입니다,
2번은 다양한 문자들(한글,영문,특수문자 등등)을 고려했을 때 정확한 위치값을 계산해낼 수 있는지가 걱정입니다
어떤 방법이 좋으며, 실무에서는 다른 어떤 방법을 사용하는지 궁금합니다.
경우에 따라 구현 방법이 약간씩 차이는 있겠습니다만,
일반적으로는 이미지 삽입 버튼을 누르면 이미지를 업로드하고 업로드된 이미지의 URL 주소를 본문에 img 태그로 삽입하는 방법을 많이 사용합니다.
아마도 말씀하신 방법 중에서는 1번 방식에 가까울 수 있습니다.
지금 이 글을 작성하는데 사용된 CK에디터라는 오픈소스 편집기도 그런 방식을 사용하고 있습니다.
아래 주소를 방문해보시면 CK에디터에서 이미지를 업로드하여 삽입하는 방식을 테스트 해보실 수 있습니다.
https://ckeditor.com/docs/ckeditor4/latest/examples/fileupload.html#uploading-dropped-and-pasted-images
이런 오픈 소스 에디터는 이미지 삽입뿐만 아니라 본문을 작성하기 위한 다양한 기능들을 제공하기 때문에
글 작성하는 웹사이트를 만들 때 많이 사용하곤 합니다.
CK에디터는 그 중에서도 많이 사용되는 오픈 소스입니다.
즉, 실무에서는 에디터를 이용해서 구현하는 경우가 많습니다.