문제

나는 매우 이상한 문제에 봉착했습니다.나는 사용하고있다 commons-fileupload (1.2.1) 내 웹앱(Tomcat 7.0.23에서 호스팅됨)에서 파일 업로드를 처리하고 distributable 플래그가 설정됨)일단 내가 DiskFileItem 내 인스턴스 DiskFileItemFactory (아니요 FileCleaningTracker), 나는 그것을 사용합니다 write 파일을 저장하는 방법(파일이 저장되는 동일한 디렉토리에 있음) DiskFileItemFactory 스트리밍할 때 파일을 디스크에 써야 하는 경우에 사용하도록 구성되었습니다.문제는 이 새 파일(내가 명시적으로 생성하고 이름을 지정함)이 요청 처리가 완료된 후 삭제된다는 것입니다.상상할 수 있듯이 이는 파일에 다시 액세스해야 할 때 문제가 됩니다.

관련성이 있을 것 같은 재미있는 정보:

  • 문제의 디렉토리는 서블릿 컨텍스트의 기본 임시 디렉토리도 아니고 Tomcat 디렉토리 아래에도 없습니다.
  • 대체 코드 경로에서 해당 파일을 즉시 복사하고(다른 요청이 아님) 저것 사본은 삭제되지 않습니다.
  • 내가 chmod a-w 요청이 완료되기 전에 파일이 삭제되었더라도 요청이 완료되면 삭제됩니다.

도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

그리고 범인은?길 잃은 finalize 9년 이상 전에 "정리"를 수행한 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top