En utilisant WSGI, webob et PIL, j'essaie d'utiliser Image.open()
sur un fichier directement à partir de la requête. Cependant, Image.open()
lève toujours l'exception "Impossible d'identifier le fichier image". L'image est le seul champ, aucune autre variable POST ou GET n'est utilisée. Le fichier provient d'un formulaire de téléchargement HTML standard avec enctype = "multipart/form-data".Ouverture du fichier POSTed avec PIL Image
import Image, ImageFile
from webob import Request
def application(environ, start_response):
req = Request(environ)
req.make_body_seekable()
im = Image.open(req.body_file) # "Cannot identify image file"
im.save('testfileio.png','PNG')
Je pense que je ne suis pas charger dans les données d'image téléchargées correctement, mais ne suis pas sûr de ce que la bonne façon de le faire serait.
Quand vous dites "POSTed", voulez-vous dire que vous utilisez un outil spécial pour POSTER une requête avec le corps 'Content-Type: image/png'? Ou voulez-vous simplement dire que vous avez un navigateur et un formulaire 'multipart/form-data' avec un seul champ, un fichier' '? Si ce dernier, vous devez toujours analyser le formulaire de la manière habituelle pour obtenir le champ de téléchargement de fichier à partir de celui-ci. – bobince
C'est le dernier, il s'agit d'un formulaire de téléchargement de fichier standard en HTML. –