2

FileField.save()超过 2.5M 的文件的幕后工作如何?我在另一篇文章中读到,FileField.save()将对要保存的文件进行自动分块。但是,如果您将文件保存到与保存超过 2.5M 文件的 tmp 目录相同的机器上,您是否需要分块?在 tmp 目录位于我要保存文件的同一台机器上的大文件上传情况下,是否save()只是mv将文件从 tmp 目录转到目标目录并绕过分块?

4

1 回答 1

2

这与将上传的文件保存到模型时处理无关,在这种情况下使用移动。这是关于在上传过程中存储该文件 - 小文件被放入内存,较大的文件被分成块并写入临时文件。

关于保存文件:

https://github.com/django/django/blob/master/django/db/models/fields/files.py

https://github.com/django/django/blob/master/django/core/files/storage.py

关于上传:

https://github.com/django/django/blob/master/django/core/files/uploadedfile.py

于 2012-05-09T05:16:45.743 回答