このためにPILlybraryを使用してインストールする必要はありません。この種の使用法にぴったり合う、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)
実際、これはPylonsで機能します(すべてを完了していなくても):Makoテンプレートで:
${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