2

我编写了一个 python CGI 脚本,它将文件转换为 .jpgs 并在一个简单的 HTML 页面中显示它们。我不想用这些 .jpg 文件弄乱文件夹,所以我使用 tempfile.NamedTemporaryFile 创建一个文件来存储转换后的 .jpg 输出。一切都很好,但我想在页面显示后删除这个文件。目前我设置了 delete=False ,但我似乎无法在不导致 img 链接损坏的情况下删除文件。

4

1 回答 1

3

您不能从您的 cgi 脚本中删除该文件。因为只有在脚本完成运行后才会将 html 页面发送给用户。然后用户浏览器解析 html 并获取 jpg 文件。

最简单的选择是将临时文件写入子目录并定期清理该目录(仅在最后几分钟内)。有一些方法可以改进这个过程,但它们可能毫无意义。

一个更高级的选项(这也可能毫无意义,取决于您的场景)是配置 Web 服务器以在“get jpg”请求上运行脚本。然后您可以通过脚本流式传输 jpg。这样你就会知道何时获取 jpg。在此脚本中,您可以异步调用下标来删除 jpg 文件。

于 2009-04-17T08:33:55.577 回答