Hallo,
ich nehme mit dem Kameramodul ein Bild als Stream auf, und bearbeite es anschließend mit PIL.
Danach kann ich es erfolgreich als JPEG abspeichern.
Jetzt möchte ich es aber eigentlich gar nicht abspeichern, sondern direkt per FTP auf meinen Webspace laden.
Dazu habe ich folgenden Code gefunden:
http://stackoverflow.com/questions/1571…o-an-ftp-server
Code
import StringIO
f = StringIO()
image.save(f, 'PNG')
f.seek(0) # return the StringIO's file pointer to the beginning of the file
# again this assumes you already connected and logged in
ftp.storbinary("STOR remote_filename.png", f)
Da ich Python 3 verwende, lief das Script so nicht, so dass ich es leicht angepasst habe.
Hier ist mein Code:
Code
img_web.seek(0)
]temp = io.StringIO() # this is a file object
img_web.save(temp, format='png') # save the content to temp
temp.seek(0)
session.storbinary('STOR /home/www/test.png' , temp)
Leider funktioniert das bei mir nicht. Ich bekomme folgende Fehlermeldung angezeigt:
Code
img_web.save(temp, format='png') # save the content to temp
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 1685, in save
save_handler(self, fp, filename)
File "/usr/lib/python3/dist-packages/PIL/PngImagePlugin.py", line 657, in _save
fp.write(_MAGIC)
TypeError: string argument expected, got 'bytes'
Wer kann mir da einen Tip geben?