2

ファイルを .jpg に変換し、単純な HTML ページに表示する Python CGI スクリプトを作成しました。これらの .jpg ファイルでフォルダーを乱雑にしたくないので、tempfile.NamedTemporaryFile を使用して、変換された .jpg 出力を格納するファイルを作成しました。すべてうまくいきますが、ページが表示された後にこのファイルを削除したいと思います。現在、delete=False を設定していますが、img リンクを壊さずにファイルを削除できないようです。

4

1 に答える 1

3

cgiスクリプトからファイルを削除することはできません。スクリプトの実行が終了した後にのみ、htmlページがユーザーに送信されるためです。次に、ユーザーのブラウザがhtmlを解析し、jpgファイルをフェッチします。

最も簡単なオプションは、一時ファイルをサブディレクトリに書き込み、そのディレクトリを定期的にクリーンアップすることです(最後の数分間のみそこに存在します)。このプロセスを改善する方法はいくつかありますが、おそらく無意味です。

より高度なオプション(シナリオによってはおそらく無意味です)は、「getjpg」リクエストでスクリプトを実行するようにWebサーバーを構成することです。そして、スクリプトを介してjpgをストリーミングできます。そうすれば、jpgがいつフェッチされたかがわかります。また、このスクリプトでは、添え字を非同期的に呼び出してjpgファイルを削除できます。

于 2009-04-17T08:33:55.577 に答える