下のようなプログラムでwidthとheightプロパティーにアクセスしようとするとエラーが発生した。
import os
import webapp2
from google.appengine.ext import blobstore
from google.appengine.ext.webapp import blobstore_handlers
from google.appengine.ext import db
from google.appengine.ext import ndb
from google.appengine.api import images
class CreateHogeHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
try:
uploaded_image_key = self.get_uploads()[0]
uploaded_image_key = uploaded_image_key.key()
img = images.Image(blob_key=uploaded_image_key)
width = img.width
height = img.height
try:
pass
except BaseException,val:
pass
エラーの内容をよくよく確認すると、一度、transformさせないといけないらしく、下のように組んだらエラーがなくなった。import os
import webapp2
from google.appengine.ext import blobstore
from google.appengine.ext.webapp import blobstore_handlers
from google.appengine.ext import db
from google.appengine.ext import ndb
from google.appengine.api import images
class CreateHogeHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
try:
uploaded_image_key = self.get_uploads()[0]
uploaded_image_key = uploaded_image_key.key()
img = images.Image(blob_key=uploaded_image_key)
img.rotate(0)
img.execute_transforms(output_encoding=images.JPEG)
width = img.width
height = img.height
try:
pass
except BaseException,val:
pass
これ、毎回、毎回、execute_transformsをコールしないと思うと、結構、無駄な気がするのだが。もっと効率のいい方法はないのだろうか?
0 コメント:
コメントを投稿