나는 파일을 .jpg로 변환하고 간단한 HTML 페이지에 표시하는 python CGI 스크립트를 작성했습니다. 이 .jpg 파일을 사용하여 폴더를 어지럽히고 싶지는 않습니다. 따라서 tempfile.NamedTemporaryFile을 사용하여 변환 된 .jpg 출력을 저장하는 파일을 만들었습니다. 모든게 잘 작동하지만 페이지가 표시된 후에이 파일을 제거하고 싶습니다. 현재 나는 delete = False로 설정되어 있지만 손상된 img 링크를 발생시키지 않고 파일을 제거하는 것처럼 보일 수 없습니다.CGI가 표시하는 임시 파일 (이미지)을 제거하려면 어떻게해야합니까?
2
A
답변
3
cgi 스크립트에서 파일을 삭제할 수 없습니다. html 페이지는 스크립트 실행이 끝난 후에 만 사용자에게 보냅니다. 그리고 사용자 브라우저는 html을 파싱하고 jpg 파일을 가져옵니다.
가장 간단한 옵션은 임시 파일을 하위 디렉토리에 쓰고 그 디렉토리를 주기적으로 정리하는 것입니다 (지난 몇 분 만 살면됩니다). 이 프로세스를 개선 할 수있는 방법이 있지만 무의미합니다.
고급 옵션 (시나리오에 따라 다르 겠지만)은 "get jpg"요청에 따라 스크립트를 실행하도록 웹 서버를 구성하는 것입니다. 그런 다음 스크립트를 통해 jpg를 스트리밍 할 수 있습니다. 그렇게하면 jpg가 언제 가져 왔는지 알 수 있습니다. 이 스크립트에서는 jpg 파일을 삭제하기 위해 비동기 적으로 하위 스크립트를 호출 할 수 있습니다.
관련 문제
- 1. TextInput에서 그림자를 제거하려면 어떻게해야합니까?
- 2. cgi가 죽었습니까?
- 3. "--remove-files"파일을 제거하려면 어떻게해야합니까?
- 4. DOM에서 요소를 제거하려면 어떻게해야합니까?
- 5. Powershell에서 서명을 제거하려면 어떻게해야합니까?
- 6. DOM에서 형제를 제거하려면 어떻게해야합니까?
- 7. NSString에서 문자를 제거하려면 어떻게해야합니까?
- 8. 텍스트에서 URL을 제거하려면 어떻게해야합니까?
- 9. 문자열에서 단어를 제거하려면 어떻게해야합니까?
- 10. 데비안에서 xdebug를 제거하려면 어떻게해야합니까?
- 11. Eclipse에서 JavaBeans를 제거하려면 어떻게해야합니까?
- 12. CGI가 실행되는 동안 "대기중인 페이지"를 표시하는 방법은 무엇입니까?
- 13. PHP CGI가 확장자를로드하지 않습니다
- 14. 임시 테이블을 변경하려면 어떻게해야합니까?
- 15. 루프 내에서이 쿼리를 제거하려면 어떻게해야합니까?
- 16. UITabbar에서 광택 효과를 제거하려면 어떻게해야합니까?
- 17. 다국어 텍스트에서 단어를 제거하려면 어떻게해야합니까?
- 18. .copyarea.db 파일을 안전하게 제거하려면 어떻게해야합니까?
- 19. 초대 요청 알림을 제거하려면 어떻게해야합니까?
- 20. HTML 문서에서 테이블을 제거하려면 어떻게해야합니까?
- 21. 내 페이지에서이 콘솔을 제거하려면 어떻게해야합니까?
- 22. 세션 남용을 추적하고 제거하려면 어떻게해야합니까?
- 23. 입력란에서 입력 포커스를 제거하려면 어떻게해야합니까?
- 24. OrchardCMS의 페이지에서 본문을 제거하려면 어떻게해야합니까?
- 25. 문자열 끝에 공백을 제거하려면 어떻게해야합니까?
- 26. WPF에서이 시각적 아티팩트를 제거하려면 어떻게해야합니까?
- 27. PDF에서 이메일 옵션을 제거하려면 어떻게해야합니까?
- 28. 파이썬에서 bash 쉘을 제거하려면 어떻게해야합니까?
- 29. NSIS로 이전 버전을 제거하려면 어떻게해야합니까?
- 30. HTML5 오프라인 캐시를 제거하려면 어떻게해야합니까?