war*_*iuc 5 python django file-upload
根据文件:
但是,如果上传的文件太大,Django会将上传的文件写入存储在系统临时目录中的临时文件中.在类似Unix的平台上,这意味着你可以期待Django生成一个类似的文件
/tmp/tmpzfp6I6.upload.如果上传足够大,您可以观看此文件的大小增长,因为Django将数据流式传输到磁盘上.
所以我已经将相同的大文件多次上传到视图中并得到了这个:
vic@vic /tmp $ ls -l tmp*.upload
-rw------- 1 vic vic2 3436110 ??? 14 18:31 tmpKdZrQl.upload
-rw------- 1 vic vic2 3436110 ??? 14 18:31 tmpqLyBsy.upload
Run Code Online (Sandbox Code Playgroud)
从临时目录中删除这些文件?
我想避免膨胀临时目录.
为了编写这些临时文件,Django 在python中使用了tempfile模块.你可以看到django的代码django/core/files/temp.py.
一个django临时文件是一个tempfile.NamedTemporaryFile. 这是代码的链接.该构造函数中的默认设置(加上django中的代码)要求在文件关闭时删除该文件.
所以要注意文件句柄链接; 如果它们没有被删除,则可能是您的代码泄漏了文件句柄,并且从未关闭它.
| 归档时间: |
|
| 查看次数: |
1947 次 |
| 最近记录: |