Flask 会自动删除中止的大文件上传吗?

Does Flask automatically delete aborted large file upload?

我的 Flask 应用程序将允许将大文件(最多 100 Mb)上传到我的服务器。我想知道如果客户端决定中途停止上传,Flask 是如何管理分块文件的。我阅读了 documentation about File Upload 但没能找到提到的内容。

Flask 会自动删除文件吗?它怎么知道用户不会重试呢?还是我必须手动删除临时文件夹中中止的文件?

Werkzeug(Flask 用于许多任务的库,包括这个)在上传时使用 tempfile.TemporaryFile object 接收 WSGI 文件流。对象自动管理打开的文件。

  • 磁盘上的文件立即被删除;目录 table 中不再有条目,但进程保留了一个文件句柄
  • TemporaryFile 对象被清除时(没有引用保留,通常是因为请求结束),文件对象被关闭并且操作系统清除使用的磁盘 space。

因此,当请求中止时,文件数据将被删除。

Flask不处理用户再次上传文件的情况;无论如何都没有标准的方法来处理这个问题。您必须在那里提出自己的解决方案。