Я прочитал много сообщений, таких как этот , в которых подробно рассказывается, как динамически возвращать изображение с помощью WSGI. Однако все примеры, которые я видел, открывают изображение в двоичном формате, читают его и затем возвращают эти данные (у меня это отлично работает).
Я застрял, пытаясь добиться того же, используя объект изображения PIL в памяти. Я не хочу сохранять изображение в файл, так как у меня уже есть изображение в памяти.
Учитывая это:
fd = open( aPath2Png, 'rb')
base = Image.open(fd)
... lots more image processing on base happens ...
Я пробовал следующее:
data = base.tostring()
response_headers = [('Content-type', 'image/png'), ('Content-length', len(data))]
start_response(status, response_headers)
return [data]
WSGI вернет это клиенту в порядке. Но я получаю сообщение об ошибке, в котором говорится, что с возвращенным изображением что-то не так.
Какие еще есть способы?