Динамическое обслуживание изображения из PIL - PullRequest
1 голос
/ 01 июня 2011

Я использую PIL (Python Imaging Library) и Paste для создания очень простой веб-страницы.У меня есть функция, которая возвращает только тег изображения:

def home(self):
    return '<img src="photo" alt="photo"/>'

И у меня также есть функция с именем photo, которая (в идеале) возвращает изображение, которое будет помещено в тег img:

def photo(self):
    img = image_from_PIL # this part works
    output = StringIO.StringIO()
    img.save(output, "JPEG") # saves the image as a StringIO in output
    final_img = output.getvalue()
    output.close()

    # then set headers['content-type'] = 'image/jpeg' (confirmed this works)

    return [final_img]

Итак, я знаю, что изображение существует в строке final_img и что тип контента - "image / jpeg".Я ожидал бы, что это сработает, но все, что я получу, - это отклик в 200 статусов размера 0.

Я тоже пробовал много других вещей, включая:

  • Преобразование строки в двоичный файли выплевывая это
  • Установка длины содержимого в заголовке равной длине строки (и x8, поскольку каждый символ равен 8 битам)

Если это имеет какое-либо значение, мойсервер использует uWSGI и nginx

Я не знаю, что еще попробовать!Спасибо за любую помощь.

1 Ответ

1 голос
/ 01 июня 2011

Не возвращать список с изображением, но само изображение.

Заменить

return [final_img]

на

return final_img
...