Возврат PNG изображения из просмотров Джанго поврежден - PullRequest
0 голосов
/ 10 сентября 2018

Я работаю над проектом Django (2), в котором мне нужно вернуть изображение PNG в виде HttpResponse, когда я возвращаю это изображение в виде zip-архива, оно возвращает изображение правильно, но когда я возвращаю изображение PNG непосредственно это повредило изображение.

Вот мой код:

Как пишется изображение:

img_resized = cv2.resize(seg_image, dsize)
cv2.imwrite(os.path.join(settings.BASE_DIR, 'img/MaskedImage.png'), img_resized)

Как это вернуть изображение:

response = HttpResponse(os.path.join(settings.BASE_DIR, 'img/MaskedImage.png'), content_type='image/png')
response['Content-Disposition'] = 'attachment; filename=MaskedImage.png'

    return response

Возвращает изображение с именем MaskedImage.pn, но изображение повреждено, его невозможно открыть.

Что здесь может быть не так?

Заранее спасибо!

1 Ответ

0 голосов
/ 10 сентября 2018

Вам нужно будет прочитать данные изображения.В настоящее время вы возвращаете ответ только с путем к изображению.

with open(os.path.join(settings.BASE_DIR, 'img/MaskedImage.png'), 'rb') as fp:
    response = HttpResponse(fp.read(), content_type='image/png')
    response['Content-Disposition'] = 'attachment; filename=MaskedImage.png'
    return response
...