当尝试仅保存表单发布图像的缩略图版本时,我收到以下错误。
'JpegImageFile' object has no attribute 'write'
使用以下任一方法都会产生相同的错误。我认为我在这里缺少的是某种写模式定义。 Image.open只接受'r'
模式。
模型保存方法
def save(self, *args, **kwargs):
img = Image.open(self.image)
img.thumbnail((250, 250), Image.ANTIALIAS)
img.save(img, 'JPEG')
super(EventPost, self).save()
Formviews form_valid方法
def form_valid(self, form):
img = Image.open(form.cleaned_data['image'])
img.thumbnail((250, 250), Image.ANTIALIAS)
img.save(img, 'JPEG')
form.save(commit=True)
return super(FormPage, self).form_valid(form)
答案 0 :(得分:0)
我认为你需要的是:
img = img.thumbnail((250,250), Image.ANTIALIAS)
然后保存,如果您只想保存缩略图。并且图像的save()方法接受路径作为第一个参数而不是文件:
img.save("path/to/save/image", "JPEG", quality=from1to100, optimize=bool, progressive=bool)