Nous utilisons l'API images de AppEngine sans problème pour l'année écoulée. Soudain, dans la dernière semaine, l'image API semble corrompre l'image. Nous utilisons l'API images pour faire quelques opérations différentes mais celle qui semble causer le problème est que nous faisons une image.rotation (0) sur les données TIFF pour la convertir en PNG. (Nous n'avons pas essayé d'autres conversions de type de fichier mais le fait est que cela fonctionnait depuis plus d'un an alors pourquoi devrait-il cesser de fonctionner soudainement?) En outre, nous avons besoin de travailler avec TIFF en PNG comme TIFF est le format des données entrantes)images Google AppEngine API images soudainement corruptrices
Cela a fonctionné sans problème depuis longtemps et tout à coup aujourd'hui, je trouve que tout TIFF qui passe par le processus est corrompu sur la sortie. On dirait que c'est doublé et faussé.
est d'utiliser l'API Python 2.7 sur AppEngine 1.7.7. Nous utilisons l'API Google images directement via PIL.
Aidez s'il vous plaît! Ceci est en train de tuer notre environnement de production.
code Exemple:
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)
pourrait vous envoyer un code - iE sauvegarde/récupération d'images? –
pardonnez-moi pour avoir l'air évident, mais comme la situation est critique je vais le dire, avez-vous récemment mis à jour la version AppEngine? Si c'est le cas, essayez de retourner à l'œuvre de travail perméable jusqu'à ce que vous êtes en mesure de comprendre celui-ci? – skywalker
Exemple de code @peterretief ajouté pour vous. – Joel