easy_thumbnails
アプリケーションに画像を保存していました。ThumbnailerImageField というフィールドを持つモデル名Profile
があります。picture
私のコードでは、次のコードを使用しているURLを使用して画像を取得しています
f = urllib.request.urlretrieve(picture_url)
ここで、f[0] はディレクトリ内のファイルへのパスを含む文字列です/tmp/
。この画像を画像フィールドに保存したいと思います。だから、私は次のコードを使用しました
profile.picture.save(os.path.basename(picture), File(open(f[0])))
しかし、問題は、保存したファイルが何らかの理由で破損していて、開くことができないことです。でファイルを確認する/tmp/
と、適切な画像ファイルです。ここで私が間違っていることを誰かが指摘できますか?
編集:
私のフィールド定義は次のとおりです
picture = ThumbnailerImageField(upload_to=name, max_length=3072)
そしてname
、次のとおりです
def name(inst, fname):
f = sha256((fname + str(timezone.now())).encode('utf-8')).hexdigest()
f += fname
return '/'.join([inst.__class__.__name__, f])