在过去的一年里,我们一直在使用 AppEngine 的图像 API,没有任何问题。在过去一周左右突然之间,图像 API 似乎正在破坏图像。我们使用图像 API 执行一些不同的操作,但似乎导致问题的一个是我们对 TIFF 数据执行 images.rotation(0) 以将其转换为 PNG。(我们还没有尝试过其他文件类型转换,但关键是它已经工作了一年多,为什么它会突然停止工作?此外,我们需要它与 TIFF 到 PNG 一起工作,因为 TIFF 是入站数据的格式)
这在很长一段时间内都没有问题,今天突然间我发现通过该过程的任何 TIFF 在输出时都已损坏。它看起来好像是翻倍和歪斜的。
这是在 AppEngine 1.7.7 上使用 Python 2.7 API。我们直接使用 Google 图片 API,而不是通过 PIL。
请帮忙!这正在扼杀我们的生产环境。
示例代码:
from google.appengine.api import images
import webapp2
def get_sample():
# sample.tiff is a 1bit black and white group3 tiff from a fax service
with open("sample.tiff") as x:
f = x.read()
return f
class MainHandler(webapp2.RequestHandler):
def get(self):
# Convert to PNG using AppEngine's images API by doing a rotation of 0 degrees.
# This worked fine for over a year and now suddenly started corrupting the
# output image with a grainy double image that looks like two of the
# same image are layered on top of each other and vibrating.
sample = get_sample()
png = images.rotate(sample, 0)
self.response.headers["Content-Type"] = "image/png"
self.response.out.write(png)
application = webapp2.WSGIApplication([('/', MainHandler)], debug=True)