使用Models FileField save()对上传文件大小超过2.5 MB的文件进行分块

时间:2012-05-08 20:32:21

标签: django file-upload chunking

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

1 个答案:

答案 0 :(得分:1)

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

关于保存文件:

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