Для этого не нужно использовать и устанавливать библиотеку PIL, есть стандартный модуль imghdr, точно подходящий для такого рода использования.
См. http://docs.python.org/library/imghdr.html
import imghdr
image_type = imghdr.what(filename)
if not image_type:
print "error"
else:
print image_type
Поскольку у вас есть изображение из потока, вы можете использовать параметр потока, вероятно, так:
image_type = imghdr.what(filename, incomming_image)
На самом деле это работает для меня в Пилонах (даже если я еще не все закончил):
в шаблоне Мако:
${h.form(h.url_for(action="save_image"), multipart=True)}
Upload file: ${h.file("upload_file")} <br />
${h.submit("Submit", "Submit")}
${h.end_form()}
в контроллере загрузки:
def save_image(self):
upload_file = request.POST["upload_file"]
image_type = imghdr.what(upload_file.filename, upload_file.value)
if not image_type:
return "error"
else:
return image_type