我试图通过django FileField使用cStringio保存图像。
我尝试了文件和 ContentFile 我还尝试从 FileField 切换到 ImageField
文件始终在磁盘上刷新,大小相同(大于原始图像),但图像似乎已损坏,无法打开。 有没有办法实现呢?
from django.core.files import File
from django.core.files.base import ContentFile
import cStringIO
class Captcha(models.Model):
path_var = 'captchas'
image = models.ImageField(upload_to=path_var, blank=True, max_length=100)
fl = open('image.jpg', 'rb')
output = cStringIO.StringIO(fl.read())
myfile = ContentFile(output)
cap = Captcha()
cap.image.save('anyname.jpg', content=myfile)
更新:我在2小时后发现解决方案没有运气。我只是试着用文本编辑器打开anyname.jpg,我看过文字"" 所以一定是
myfile = ContentFile(output.read())