Использование PIL-образа с flasks send_file без сохранения на диск?

#flask #python-imaging-library #bytesio

#flask #python-imaging-library #байтзио

Вопрос:

Я сохраняю PIL-образ в io.Объект BytesIO().

 imgByteArr = io.BytesIO()
img.save(imgByteArr, format=format)
  

Затем попытка вернуть изображение пользователю.

 return send_file(img.getvalue(), mimetype="image/"   img_details["ext"].lower())
  

Но я получаю сообщение об ошибке

 TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
  

Я не хочу отправлять как вложение, я хочу, чтобы изображение отображалось на странице.

Кто-нибудь знает, возможно ли это без предварительного сохранения на диск?

Ответ №1:

Мне не хватало «искать»

 imgByteArr = io.BytesIO()
img.save(imgByteArr, format=format)
imgByteArr.seek(0)

return send_file(imgByteArr, mimetype="image/"   img_details["ext"].lower())
  

Теперь это работает.