Không cần phải sử dụng và cài đặt lybrary PIL cho điều này, đó là imghdr tiêu chuẩn mô-đun chính xác fited cho loại sử dụng.
Xem http://docs.python.org/library/imghdr.html
import imghdr
image_type = imghdr.what(filename)
if not image_type:
print "error"
else:
print image_type
Như bạn có một hình ảnh từ một dòng bạn có thể sử dụng tùy chọn dòng có lẽ là như thế này:
image_type = imghdr.what(filename, incomming_image)
Actualy này làm việc cho tôi trong giá treo (thậm chí nếu tôi chưa hoàn thành mọi thứ): trong mẫu 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()}
trong ứng dụng điều khiển tải lên:
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
Nguồn
2009-06-24 18:18:02
Điều này sẽ không hoạt động trong App Engine: PIL chứa mã C và do đó không khả dụng. API hình ảnh (http://code.google.com/appengine/docs/images/) sử dụng PIL, nhưng nó bị loại bỏ. – chryss