자바 웹개발 파일업로드 질문드립니다

자바 웹개발 파일업로드 질문드립니다

작성일 2024.01.03댓글 3건
    게시물 수정 , 삭제는 로그인 필요

요즘 커뮤니티 사이트 보면

글 작성할 때 사진 업로드 한 다음 게시글 작성 하던데

업로드할 때 이미 서버에 사진이 올라가서 링크도 있더라구요

이런 경우 이용자가 중간에 게시글 작성 취소하면

이 사진은 언제 어떻게 지우나요?





#자바 웹개발 #자바 웹개발 워크북 #자바 웹개발자 #자바 웹개발 로드맵 #자바 웹개발 기초 #자바 웹개발 책 #자바 웹개발 취업 #자바 스프링 웹개발 #웹개발 자바 파이썬

profile_image 익명 작성일 -

방법은 여러가지입니다.

파일을 업로드 한후, 상태 플래그도 false로 저장을 하여,

게시글이 성공적으로 저장되면 서버에 요청해 true로 변환해서 영구적으로 저장하고,

실패된 경우는 주기적으로 스케쥴링과 같은방법을 돌려 false된 파일들을 정리하는방법이 있습니다.

아니면

게시글 작성과 파일 업로드를 하나의 트랜잭션으로 묶어, 취소나 실패하게되면 롤백하는 방법도 있습니다.

profile_image 익명 작성일 -

쓰던 글 재작성하기 기능이 있는 게 아니라면

일주일 쯤 타이머 두고 삭제해도 괜찮지 않을까요?

profile_image 익명 작성일 -

JSP 서블릿을 활용하여 개발했을 경우

보통은 MultipartRequest 객체 등의 라이브러리를 사용하여 파일 업로드를 처리할텐데

해당 객체는 서버에 요청이 전송될 때 이미 지정된 디렉토리(폴더)로 파일 업로드 처리가 완료됩니다.

따라서, 게시글 작성 취소 시 별도의 업로드 파일 삭제 처리 작업을 추가해서 삭제합니다.

이 때, 일반적으로 java.nio.file.Files 클래스 등을 통해 실제 업로드 된 파일을 지정하여 삭제합니다.

만약, 스프링을 활용하여 개발했을 경우

보통 스프링 라이브러리에 포함되어 있는 MuiltipartFile 객체를 사용하여 업로드를 처리할텐데

이 때는 임시 디렉토리에 업로드 할 파일이 저장되며

요청 성공 시 실제 디렉토리로 이동하는 처리 과정을 거치므로

게시글 작성 취소 시 해당 메서드 종료 시점에 자동으로 임시 파일 삭제도 함께 이루어집니다.

만약, 질문자님의 질문처럼 파일 업로드를 별도로 수행하여 게시물 작성과 별개로 업로드 동작이 수행될 경우

위의 방법과 마찬가지로 게시물 작성 취소 시 파일 삭제 처리를 수행하게 됩니다.

이상 아이티윌 부산교육센터였습니다.

감사합니다.

자바 웹개발 파일업로드 질문드립니다

요즘 커뮤니티 사이트 보면 글 작성할 때 사진 업로드 한 다음 게시글 작성 하던데 업로드할 때 이미 서버에 사진이 올라가서 링크도 있더라구요 이런 경우 이용자가 중간에...

카페 파일 업로드에 관해 질문드립니다.

... 네이버 카페 파일 업로드에 관해 질문드립니다. 모임에서 작성하는 회의록이나 사진 등을 아카이브할 목적으로 네이버 카페를 만들어 게시판에 올리고자 합니다. 1....

php 파일 업로드 질문드립니다.

파일업로드를 공부하면서 먼저 $_FILES라는 변수를 살펴보고자 하는데요. 현재 생활코딩을 통해서 공부중인데 보여지는 내용이 조금 다릅니다. 제가 맥 환경이라...

php 파일업로드 질문

안녕하세요 php 를 통해 파일업로드를 진행했는데.. 서버 연결되고 경로도 지정했는데... 0 바이트로 저장이되서 문의드립니다. 패시브 사용하였습니다. /www/upload 경로여서...

토렌트 시드파일 자동업로드

궁금한게 있어서 1대1질문드립니다 ㅠㅠ 제가 모바일로 네이버 검색을 하다가... 일반시드파일다운한거면 토렌트 어플없이도 그 시드파일이 자동업로드 되나요? 1. 일단 토렌트...

상세페이지 업로드 파일 확장자 질문...

... ai파일을 줘야하나요?. 제가 미리캔버스랑 일러스트랑 병행해서... 주면 업로드가 안된다고 할까봐 걱정되서요. 경력도 없고 아무것도 몰라서 질문드립니다. + 미리캔버스...

mp4파일100개 유튜브 자동 업로드 방법

... json파일 다운후 파이썬으로 자동업로드 해보면... 간단히 소개 드립니다. 도움이 되셨기를 바랍니다. ^^ 추가적인 문의는 질문을 이용해 주셔도 좋습니다.