에디터 이미지 > 자유게시판

자유게시판

에디터 이미지 정보

에디터 이미지

본문

 

혹 에디터로 이미지 업로드했는데 글쓰기 하지 않고 그냥 취소 버튼 눌렀을 때라거나

이미지 올려 놓고 글수정 모드에서 삭제했을 때 등등...

이런 쓰레기 이미지를 자동으로 알아서 삭제해주는 팁 개발하신 분 있으신가요?

추천
1

베스트댓글

에디터에서 업로드한 파일정보도 DB에 저장하면 됩니다.
글 작성전 업로드된 파일과 글 작성완료후 업로드된 파일을 구분하기만 하면 됩니다.
글 작성완료시 업로드된 파일정보를 bo_table과 wr_id값만 업데이트 해주면 되는거죠.
그누보드 코어파일을 수정하지 않고도 구현이 가능한 기능이긴 합니다.

1. 글작성시 파일을 업로드된 파일정보를 DB에 저장한다.
    (임시파일 개념으로 DB에 저장)
2. 글작성완료하면 DB에 저장된 파일정보를 업데이트 한다.
3. 글작성이 완료되지 않은 파일은 게시판 진입시 일괄 삭제한다.
    (또는 관리자가 임의로 일괄 삭제할 수 있는 기능을 추가한다.)

데모 : https://www.suu.kr/bbs/board.php?bo_table=rumi_ckeditor

몇달전에 SIR에 학습용으로 공개했다가 스킨에 적용된 라이브러리 라이센스에 민감하신분들이 많아 중단했었습니다.

댓글 19개

에디터에서 업로드한 파일정보도 DB에 저장하면 됩니다.
글 작성전 업로드된 파일과 글 작성완료후 업로드된 파일을 구분하기만 하면 됩니다.
글 작성완료시 업로드된 파일정보를 bo_table과 wr_id값만 업데이트 해주면 되는거죠.
그누보드 코어파일을 수정하지 않고도 구현이 가능한 기능이긴 합니다.

1. 글작성시 파일을 업로드된 파일정보를 DB에 저장한다.
    (임시파일 개념으로 DB에 저장)
2. 글작성완료하면 DB에 저장된 파일정보를 업데이트 한다.
3. 글작성이 완료되지 않은 파일은 게시판 진입시 일괄 삭제한다.
    (또는 관리자가 임의로 일괄 삭제할 수 있는 기능을 추가한다.)

데모 : https://www.suu.kr/bbs/board.php?bo_table=rumi_ckeditor

몇달전에 SIR에 학습용으로 공개했다가 스킨에 적용된 라이브러리 라이센스에 민감하신분들이 많아 중단했었습니다.

좋은 말씀 주셔서 감사합니다.

1. 최초 글쓰기시 이미지를 올렸다가 그냥 취소버튼을 누르는 정상적인 취소 상황의 경우는 괜찮긴 한데 윈도우창 자체를 꺼버리면 어찌해야 하나가 첫번째 고민입니다.
2. 글수정시 이미 업로드한 이미지를 백스페이스 버튼이나 delete 또는 잘라내기로 삭제해 버리면 그 경우는 어찌할까가 두번째 고민입니다.
당연히 기본코어는 건드릴 생각이 없습니다.
1번의 경우 beforeunload 이벤트를 통해서 창끄기를 감지한 후의 로직을 추가하면 될 것 같은데... 2번의 경우는 여러가지로 고민 중에 있습니다.

1. 파일이 업로드 됨과 동시에 파일정보가 DB에 저장되기 때문에 상관 없습니다.
2. 1번과 같습니다.

에디터에서 이미지를 추가하면 바로 업로드되며, 이미지파일정보를 DB에 저장하기 때문에 브라우저를 종료하거나, 백스페이스등으로 이미지를 지운다는등 어떠한 경우에서라도 상관이 없는 거죠.
정말 좋은 아이디어입니다. 예전에 한번 냑에 건의를 한 적이 있었다는... ㅎㅎ 비타주리님 실력이면 충분히 만드실 수 있으시리라 믿고, 그누보드에도 기본 탑재되면 참 좋겠어요...
이미 들어간 랜덤파일명이 있으므로 프론트에서는 처리가 되기 어려울 것 같다는 생각이 개인적으로듭니다... ㅜㅜ;
wr_1-10중에 어떻게 활용이 될 수 있었으면... 배열이나 json 형태로 칼럼에 들어가면 괜찮을까요...
프론트에는 로컬스토리지나 세션스토리지 같은 훌륭한 창고가 있습니다.
에디터에서 내용물이 바뀌는 이벤트가 일어날 때마다 아니면 셋인터벌로 a스토리지에는 처음부터의 이미지경로를 누적시키고 b스토리지에는 현재 보이는 이미지경로만 입력시켜
나중에 a와 b를 비교해서 차이가 난다면 차이나는 경로의 이미지만 삭제시키고 아니면 그냥 넘어가면 됩니다.
배열이나 json 보다 에디터의 innerHTML 을 실시간으로 파싱해서 img 의 src 만 웹스토리지에 담는 자바스크립트 일반식을 만들어야죠.
어려운 건 아니고 성가실 것 같아요.ㅋ
가장 확실한건 최초 글쓰기시에는 그 차이나는 애들을 bo_1 에 담고 글수정시에는 wr_1 에 담아서 게시글 입방시에 죽여버리는게 안전하긴 해요.
그때 서버에 날릴 때는 배열이나 json 아니면 문자열 explode 등 여러 선택지가 있겠죠.
성질이 급해서 다음 입방시보다는 그냥 현재의 라이트문서 안에서 다 해결하고 싶긴 하지만요.
그럴 경우 액션문서도 따로 파일을 안 만들고 라이트문서 자신이 되어 한페이지에서 다 해결하는 것을 일단 목표로 하고 있습니다.
wr_content 내용을 검사해서 볼 때 또는 수정할 때 text 안에 없는 파일명의 것은 서버에서 날려버리는 전략도 갑자기 생각납니다. ㅎㅎ;a
제가 저렴한 웹호스팅만 쓰다 보니 디비핸들링 여건이 안 좋아서 문제가 생기면 프론트에서 해결하려고 애를 많이 쓰는 편이에요.
제작의뢰를 받아도 항상 카페24에 호스팅을 먼저 얻으라고 이야기를 합니다.
그래서 번거로운 작업들이 은근히 많은데 꼼수는 착착 늘어 가더라구요.
저의 방법,
글 작성시 업로드 파일은 특정폴더로 업로드,
글 작성후 완료 버튼을 누르면 특정폴더에 있던 파일이 원래폴더에 같은 이름으로 있다면 파일명 변경...(1)..(2) 이런식,, 그 후 글을 DB에 올림과 동시에 파일도 원래의 폴더로 이동,

특정폴더에 있는 파일들은 쓰레기 파일들이니 틈틈히 삭제.
최초로 글을 작성하다가 에디터로 이미지 올리고 포스트 등록을 안하고 취소버튼 누르면 그 파일은 어디에 저장되나요? 따로 아작스처리를 하시는지요? 제가 작업하려는 것들이 그런 파일들입니다.
비타주리님의 고민이 한때 저의 고민이기도 했었기에...
또 생각나서 들어와 봅니다. 글쓰는 동안에 올려지는 모든 이미지들을 localStorage에 올려두고, 30분동안 계속 글을 쓰며 올렸다 내렸다 반복한다하여도 서버랑 왔다갔다 하는 데이터는 없겠네요. 사용자의 변덕에 의해 더미 이미지들이 많이 쌓일 일이 없고...
마지막에 글쓰기 저장을 누르는 순간에 base64가 그대로 아티클 전체가 디비에 들어가는 것이 좋을까요?아니면 파일화 해서 저장이되는 것이 나을지 잘모르겠습니다.

기본구조는 wr_id 가 0일때 즉 최초글쓰기에는 에디터에서 이미지가 올라올 때마다 에디터의 innerHTML 을 파싱하여 이미지의 src 만 추려서 name을 준 hidden input 에나 또는 웹스토리지에 담을 생각이에요.
취소버튼 누르면 그게 폼 전송버튼이 되어서 delete.php 에 post 처리되어 unlink 되는 식입니다.
이게 제가 생각하는 근본골격이구요.
다른 경우들은 어느게 더 효율적인지 고민 중입니다.
정 안되면 찌꺼기 파일들의 경로를 에디터영역의 온마우스아웃시에 아작스 업데이트할 생각이에요.
bo_4 에 담아 놓았다가 이후 누구라도 리스트 페이지나 뷰페이지에 들어오면 bo_4 를 비우면서 unlink 하게끔요.
담주 중에 코드한번 빼 볼게요.
주초까지는 일이 있어서요.
전체 73 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여75 회 시작24.04.12 12:32 종료24.04.19 12:32
  2. 참여42 회 시작24.04.12 12:32 종료24.04.19 12:32
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT