こんにちは私はDjangoの初心者です(私は非ネイティブの英語話者です)。私はデータベース(ImageField)から画像を取得しようとしています(POST経由でフォームのIDを取得)、PIL ImageでトリミングしてHttpResponse経由で送信しています。エラーは発生しませんが、画像 "piece.jpg"を受け取った場合、破損したファイルです。私はメモ帳を使用して、それを開くと私は見ることができます:私はちょうど「object.docfile」を送信しようと、それが動作ImageField DjangoからPILへHttpResponse経由で送信する画像
from PIL import Image
def function(request):
if request.method == 'POST':
id = request.POST.get('id')
object = Document.objects.get(pk=id)
im = Image.open(object.docfile)
left = 10
top = 10
right = 100
bottom = 100
cropped_image = im.crop((left, top, right, bottom))
response = HttpResponse(cropped_image, content_type='image/jpg')
response['Content-Disposition'] = 'attachment; filename="piece.jpg"'
return response
:
<PIL.Image.Image image mode=RGB size=46x75 at 0x3DEA790>
これはviews.py
で私のコードです。しかし、私が "im"(これはPILイメージです)を送信しようとすると、それは動作しません。
HttpResponse
で送信する必要があります。そのページでダウンロードできるようにしたいからです。