Ich mache eine einfache API in Flask, die ein in base64 codiertes Bild akzeptiert, dekodiert es dann für die weitere Verarbeitung mit Kissen.Decoding base64 von POST in PIL zu verwenden
Ich habe einige Beispiele sah (1, 2, 3), und ich denke, dass ich den Kern des Prozesses, aber ich halte einen Fehler bekommen, wo Kissen kann die Zeichenfolge nicht lesen ich es gab.
Hier ist, was ich bisher habe:
import cStringIO
from PIL import Image
import base64
data = request.form
image_string = cStringIO.StringIO(base64.b64decode(data['img']))
image = Image.open(image_string)
, die den Fehler verursacht:
IOError: cannot identify image file <cStringIO.StringIO object at 0x10f84c7a0>
Können Sie in einem Beispiel einfügen, was Sie bekommen in 'data [ 'img']'? Protokollieren Sie das oder drucken Sie es aus. – OregonTrail
Hier ist ein Beispiel: http://jsfiddle.net/gn0x0wvc/. Ich habe es in ein "img" -Tag eingefügt, um sicherzustellen, dass die Bilddaten nicht beschädigt wurden. –
Wie sehen die Daten nach 'b64decode()' aus? Gibt es irgendeine andere Kodierung, z. Urlencodierung? Ist es wirklich ein Bild, das von PIL unterstützt wird? – mhawke