【发布时间】:2011-03-20 19:54:21
【问题描述】:
class MyModel(models.Model)
image = models.FileField(upload_to="blagh blagh...")
#more spam...
我在内存中有一个文件,我想通过 Django FileField 保存方法来保存它,如下所示:
photo.image.save(name, buffer) # second arg should be django File
我尝试使用 StringIO,但它没有扩展 django.core.files.File,因此没有实现方法 chunks()。我已经将它包装在这样的 File 对象中:
buffile = File(buffer, name) # first argument should be a file
photo.image.save(name, buffile)
但 File 方法使用所提供文件的大小和名称字段。 StringIO 没有定义它们。 我找到了this,但是链接失效了
【问题讨论】:
-
使用Image 类。
-
我考虑过,但后来我不会使用 django 机制来命名文件(如果存在给定名称的文件,请在文件名中添加下划线)。是的,我知道,我可以自己做到这一点,也可以通过其他方式做到这一点,但如果我这样做是最好的,就像我之前描述的那样。