ファイルを.jpgに変換し、単純なHTMLページで表示するPython CGIスクリプトを作成しました。私はこれらの.jpgファイルでフォルダを混乱させたくないので、tempfile.NamedTemporaryFileを使用して変換された.jpg出力を保存するファイルを作成しました。すべて素晴らしいですが、私はこのファイルがページが表示された後に削除したいです。現在私はdelete = Falseを設定していますが、壊れたimgリンクを発生させずにファイルを削除できないようです。CGIで表示されている一時ファイル(イメージ)を削除するにはどうすればよいですか?
2
A
答えて
3
あなたのcgiスクリプトからファイルを削除することはできません。 htmlページは、スクリプトの実行が終了した後にのみユーザーに送信されるためです。ユーザーのブラウザはhtmlを解析し、jpgファイルを取得します。
最も簡単な選択肢は、一時ファイルをサブディレクトリに書き込んで定期的にそのディレクトリを清掃することです(最後の数分間のみに住んでいます)。このプロセスを改善する方法はありますが、おそらく意味がありません。
さらに高度なオプション(シナリオによっては無意味かもしれません)は、「get jpg」リクエストでスクリプトを実行するようにWebサーバーを設定することです。そしてあなたはあなたのスクリプトを通してjpgをストリーミングできます。そうすれば、jpgがいつ取り出されたかを知ることができます。このスクリプトでは、サブスクリプトを非同期的に呼び出してjpgファイルを削除することができます。
関連する問題
- 1. イメージを削除して同時に表示するにはどうすればよいですか?
- 2. Subversionから削除されたディレクトリのファイルを表示するにはどうすればよいですか?
- 3. 削除されたファイルからPyDevデバッガブレークポイントを削除するにはどうすればよいですか?
- 4. ソフトキーボードの上に表示された番号を削除するにはどうすればよいですか?
- 5. 削除されたRDSインスタンスのイベントを表示するにはどうすればよいですか?
- 6. .aspイメージを表示するにはどうすればよいですか?
- 7. ファイルにデータストアを削除するにはどうすればよいですか?
- 8. ディスクからファイルを削除せずにファイルを削除するにはどうすればよいですか?
- 9. 過去に削除されたFossilリポジトリのすべてのファイルを一覧表示するにはどうすればよいですか?
- 10. コミットが決して削除されないようにするにはどうすればよいですか?
- 11. URLから「cgi-bin」、「.py」などを非表示にするにはどうすればよいですか?
- 12. イメージがロードされるまで一時イメージを表示する
- 13. イメージの左側にある小さなボーダーを削除するにはどうすればよいですか?
- 14. 表示オブジェクトからすべてのイベントリスナーを削除するにはどうすればよいですか?
- 15. ファイルの場所が表示されないようにするにはどうすればよいですか?
- 16. .txtファイルが直接表示されないようにするにはどうすればよいですか?
- 17. ファイルから単一の属性(ReadOnlyなど)を削除するにはどうすればよいですか?
- 18. イメージが使用できないと表示されたときに、そのボーダーを削除するにはどうすればよいですか?
- 19. コードバアプリケーションでファイルを表示するにはどうすればよいですか?
- 20. ファイルを削除せずにnetbeansからプロジェクトを削除するにはどうすればよいですか?
- 21. Docker swarmのすべてのノードでイメージを削除するにはどうすればよいですか?
- 22. リモートブランチが削除されたときにローカルリモートトラッキングブランチを削除するにはどうすればよいですか?
- 23. マーカーが削除されたときにInfoWindowを削除するにはどうすればよいですか?
- 24. $額を一度表示するにはどうすればよいですか?
- 25. SDKを使用してAWS EC2でイメージ(AMI)を削除するにはどうすればよいですか?
- 26. CRANに公開されているパッケージを削除するにはどうすればよいですか?
- 27. 正しい表の行に削除メッセージを表示するにはどうすればいいですか?
- 28. アンインストール時にアプリケーションデータディレクトリからファイルを削除するにはどうすればよいですか?
- 29. OpenCV 3.2イメージをcsvファイルに保存して表示するにはどうすればいいですか?
- 30. Cで表示される時刻を更新するにはどうすればよいですか?