개발자

에디터 라이브러리 사용 시, 업로드된 이미지 삭제 어떻게 하시나요?

2023년 07월 14일조회 611

안녕하세요. 현재 summernote 에디터를 사용하고 있습니다. summernote 의 경우 이미지를 에디터에 업로드 하는 순간 서버에 이미지가 저장됩니다. 하지만 사용자가 에디터 작성 시, 이미지를 올렸다가 삭제 후, 최종적으로 저장 버튼을 클릭하면 이미 업로드 된 이미지 파일 중 최종적으로 저장하지 않는 이미지는 삭제하고 싶습니다. 다른 에디터들을 보니 업로드 된 이미지를 최종적으로 저장할 때 처리하는 방법을 제공하지 않는 것 같습니다. 만약 사용자가 에디터 작성 중에 창을 닫아버리는 문제는 임시폴더로 해결이 가능한데, 위의 문제는 다들 어떻게 해결하시는지 궁금합니다. 실제 저장 버튼을 눌렀을 때의 데이터와 업로드된 데이터를 비교해서 저장하는 방법밖에 없을까요? 혹시 다른 분들은 이 방법을 어떻게 처리하시나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 4

인기 답변

김기쁨님의 프로필 사진

이미지를 html로 붙여넣는 시점에 data-uuid 값을 넣어 서버에서 최종적으로 전송된 uuid에 해당하는 이미지들만 임시폴더에서 최종 스토리지로 옮기는 식으로 구현을 했었습니다 그런데 이제 비슷한 문제상황이 생긴다면 1. 작성 중에 업로드 되었다가 최종 업로드 전에 제거된 이미지를 판단해 스토리지에서 제거하는 기능을 구현하는 비용 2. 스토리지 비용 1번이 2번보다 값비싸다고 보고 구현하지 않는다는 결정을 합니다 근데 이야기해볼만한 점은 분명히 있는 것 같아요 첫 번째로, 구현을 해볼 필요는 있다고 생각해요 실제 구현을 하거나 최소한 구현에 가깝게 구상을 해보아야 결정을 할 수 있으니까요 '그냥 둔다'는 결론은 같더라도 저비용인 쪽을 고른 것과 할 줄 몰라 방치하는 것은 많이 다르잖아요? 두 번째는 좀 환경 오염인데요 개발자들이 의미없는 데이터를 어딘가에 남겨놓는다는 거나, 하드웨어가 좋아졌다는 이유로 통신이나 계산을 최적화하지 않는 게 진짜 환경 오염에 영향을 준다고 하네요?! https://m.hani.co.kr/arti/science/technology/1090180.html?_fr=gg#ace04ou 이 문제를 현실적으로 해결할 방안이 있냐거나 너는 어떻게 대응하고 있냐하면 할 말은 없지만.. 😅 적어도 잊지는 않고 생각해볼만한 문제인 건 맞는 것 같아요 아무튼, 모든 걸 비용 비교로 결정할 수는 없는 일이지만.. 결국 실무에서는 대부분이 비용 비교로 결정되기 때문에 굳이굳이 비용 이야기까지 적어보았습니다. 10시간 소요되는 99% 완성도와 5시간 소요되는 80% 완성도 사이에서 연차가 쌓일수록 점점 전자에서 후자가 되어가는 것 같아요 (그런 생각을 흐면 좀 마음이 쌉쌀한 구석도 있어요)

조용구님의 프로필 사진

안녕하세요 :) 관련된 부분 개발할때 CDN 스토리지 비용이 높지 않고 에디터에서 이미지 업로드를 사후에 진행하면 사용성이 저하되서 이미지 삭제는 고려하지 않았었습니다. 만약에 이미지 삭제를 구현한다면 에디터에서 이미지 삭제될때 서버측에 이미지 삭제 요청하도록 에디터 플러그인 코드를 구현해서 해결할 것 같아요!

Samuel님의 프로필 사진

저는 글 작성할 때 임시 DB table 및 폴더에 업로드하고 글을 등록할 때 이미지 리스트를 서버로 보내 리스트에 있는 것만 실사용 DB 및 폴더로 옮기고 그 외 DB 및 파일은 삭제하는 방식으로 구현했습니다

커리어리 AI 봇님의 프로필 사진

에디터 라이브러리에서 업로드된 이미지를 삭제하는 방법은 다양할 수 있습니다. 여기에 몇 가지 대표적인 방법을 소개해드리겠습니다. 1. 이미지 사용 여부 확인: 사용자가 에디터에서 이미지를 업로드하고 삭제하는 경우, 업로드된 이미지의 사용 여부를 체크하는 방법을 사용할 수 있습니다. 사용자가 이미지를 삭제할 때마다 해당 이미지의 식별자(ID) 또는 파일명을 저장하고, 저장 버튼을 클릭할 때 실제로 사용되는 이미지만을 서버에 저장합니다. 이후 삭제되지 않은 이미지는 다시 사용될 수 있습니다. 2. 임시 폴더 사용: 사용자가 에디터에서 작업하는 동안 이미지를 임시 폴더에 저장하고, 저장 버튼을 클릭할 때 임시 폴더에 있는 이미지 중 필요한 이미지만 서버에 이동시킵니다. 사용자가 에디터를 닫을 경우 임시 폴더에 저장된 이미지는 자동으로 삭제됩니다. 3. 휴지통 기능: 에디터에 휴지통 기능을 추가하여 사용자가 이미지를 삭제할 때 실제로 삭제하지 않고 휴지통으로 이동시킵니다. 사용자가 저장 버튼을 클릭할 때 휴지통에 있는 이미지를 실제로 삭제합니다. 4. 백그라운드 작업: 사용자가 에디터에서 이미지를 삭제할 때, 해당 이미지를 실제로 삭제하지 않고 백그라운드 작업으로 표시합니다. 저장 버튼을 클릭할 때 백그라운드 작업으로 표시된 이미지를 실제로 삭제합니다. 위의 방법들은 에디터 라이브러리에서 제공되지 않는 경우, 개발자가 직접 구현해야 할 수도 있습니다. 어떤 방법을 선택하든, 사용자가 업로드한 이미지를 효율적으로 관리하고 삭제하는 방법을 선택하여 구현하면 됩니다. 이 방법들을 참고하여 사용자의 요구에 맞는 이미지 관리 시스템을 구축하시면 됩니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!