このプロセスで問題が発生しました:requests
を使用して画像をダウンロードしてからPIL
でトリミングし、モデルImageField
に保存します。画像をリクエストしてダウンロード - PILで編集 - モデルに保存
は、これは私が今持っているものです。
from django.core.files.base import ContentFile
import requests
from StringIO import StringIO
from PIL import Image
def get_img_url(url_img):
answer = requests.get(url_img)
image = Image.open(StringIO(answer.content))
new_image = image.crop((22, 44, 221, 165))
return image
class FormNewCard(forms.ModelForm):
....
def save(self, **kwargs):
url_image = self.cleaned_data['imagen']
pil_img = get_img_url(url_img)
stringio_obj = StringIO()
try:
pil_img.save(stringio_obj, format="JPG")
final_image = stringio_obj.getvalue()
self.image = ContentFile(final_image)
finally:
stringio_obj.close()
は、私はこのエラーを取得する:
pil_img.save(stringio_obj, format="JPG")
KeyError at /hisoka/new_card/
'JPG'
私はエラーが純粋にPIL問題である知っている、私は(それを解決するかどうかはわかりません数回試しました)、また、私がやっていることが正しいのか、これを達成するためのより良い方法があるのかを知りたいのです。ここで
私はあなたがアップロードを意味する... – Wtower
'' JPG "の代わりに' 'format =" JPEG "'を設定しようとします。 – JRodDynamite
@JRodDynamiteそれを行ったときに働いた... thnx。 – alejoss