Ich erstelle gerade eine Web-App in Pylons und arbeite an einer Bild-Upload-Aktion. Dies läuft derzeit mit egg:paste#http auf meinem Windows-Rechner in der grundlegenden Entwicklungskonfiguration, die in der Pylons-Dokumentation Quickstart beschrieben wird.
Wenn ich ein Bild in meine Anwendung POSTe, dann das Bild in das Web Root-Verzeichnis verschiebe und dann das hochgeladene Bild im Browser aufrufe, erscheint das Bild verzerrt. Das ist, was ich bekam, als ich ein GIF des Yahoo!-Logos hochgeladen habe, aber die meisten Dateien werden im Browser überhaupt nicht angezeigt, vermutlich wegen der Beschädigung:
verzerrtes yahoo-logo http://www.freeimagehosting.net/uploads/d2c92aef00.png
Dies ist der grundlegende Code, mit dem ich arbeite (direkt aus der Pylonen-Dokumentation):
os_path = os.path.join(config.images_dir, request.POST['image'].filename)
save_file = open(os_path, 'w')
shutil.copyfileobj(request.POST['image'].file, save_file)
request.POST['image'].file.close()
save_file.close()
request.POST['image'] ist ein cgi.FieldStorage-Objekt. Ich dachte, es könnte sich um ein Problem mit Windows-Zeilenenden handeln, aber ich bin nicht sicher, wie ich das überprüfen oder korrigieren kann. Woran liegt es, dass meine hochgeladenen Bilder verzerrt/beschädigt sind?