2016-12-11 28 views
0

我可以爲來自我的Python App Engine應用程序圖像(JPEG),使用內置的圖像API沒有問題,像這樣:即成從AppEngine上(Python)的GIF

result = img.execute_transforms(output_encoding=images.JPEG) 
self.response.headers['Content-Type'] = 'image/jpeg' 
self.response.out.write(result) 

這並不與GIF工作雖然。下面

result = img.execute_transforms(output_encoding=images.GIF) 
self.response.headers['Content-Type'] = 'image/gif' 
self.response.out.write(result) 

結果Output encoding type not in recognized set frozenset([0, 1, 2])

望着documentation(靠近頂部),我發現:

JPEG = images_service_pb.OutputSettings.JPEG 
PNG = images_service_pb.OutputSettings.PNG 
WEBP = images_service_pb.OutputSettings.WEBP 
BMP = -1 
GIF = -2 
ICO = -3 
TIFF = -4 

OUTPUT_ENCODING_TYPES = frozenset([JPEG, PNG, WEBP]) 

這是否意味着服務的GIF目前不被蟒蛇圖像的支持API?如果是這樣,是否有另一種方式來從python應用程序引擎應用程序中提供gif?

回答

1

這是否意味着服務的GIF目前不被 蟒蛇圖像API的支持?

是的。通過代碼片段實際製作你所遇到的錯誤,進一步下跌的同一個文件頁面上您參考,裏面execute_transforms_async()證實:

if output_encoding not in OUTPUT_ENCODING_TYPES: 
     raise BadRequestError("Output encoding type not in recognized set " 
          "%s" % OUTPUT_ENCODING_TYPES) 

如果是這樣,是有另一種方式從Python應用程序引擎上投放的GIF 應用程序嗎?

是的,您可以使用GAE提供的PIL library代替(只有版本1.1.7可用於GAE)。

Using get_serving_url()(重點煤礦):

除了圖片API,你也可以在你的Python 2.7的應用程序使用在Python圖像庫(PIL)提供的變換。 爲此,請在 app.yaml文件的libraries部分聲明庫。但是,如果您希望在當地的 環境中使用PIL(使用開發服務器),則還必須在本地download and install PILpillow

get_serving_url()方法允許您爲存儲在Blobstore中的圖像生成一個固定的, 專用URL。

注意:我沒有真正嘗試這個,答案完全基於文檔。