Seite 1 von 1

jpg in string verwandeln

Verfasst: Freitag 2. September 2016, 12:09
von automatix
Hallo, nach 6 Jahren Programmierabstinenz muss ich mal wieder paar Zeilen für einen "Proof of Concept" schreiben.
Long story short:
Ich möchte ein jpg encoden und das dann als String an einen Webservice übergeben.
Webservice und Co läuft, nur der Prozess jpg->string klappt nicht. Das was ich bisher erreicht habe, kann mein Webservice nicht in ein JPG rückverwandeln.
Ich nutze Python 3.4 und habe im Netz diesen Code gefunden. Leider liefert er mir aber nur "leer" zurück:

Code: Alles auswählen

import base64

with open("template.jpg", 'rb') as f:    
    a = base64.b64encode(f.read())
    print(a)
Das Bild liegt im selben Verzeichnis wie mein .py. Wo liegt der Grund?
Danke für Hilfe!

Re: jpg in string verwandeln

Verfasst: Freitag 2. September 2016, 12:19
von Sirius3
@automatix: Wenn Du "leer" als Ausgabe bekommst, steht in der jpg-Datei "\x95\xe7\xab", was aber kein gültiges JPG ist.

Was für ein WebService ist das denn? Wie greifst Du darauf zu? Was erwartet er als Eingabedaten?

Re: jpg in string verwandeln

Verfasst: Freitag 2. September 2016, 13:09
von automatix
Ha! du hast Recht. Wenn ich das Bild in png konvertiere kommt was halbwegs sinnvolles raus. Werde ich morgen gleich nochmal testen. Das Bild selbst scheint die Wurzel allen Übels zu sein.

Das ist ein Webservice, den ich in SAP MII entwickelt habe. Ich rufe den als URL auf ("Runner-Service") und übergebe die Input-Parameter als URL-Parameter - das Bild also als String...Hatte vorher einen Dateinamen als Input aber dann muss MII die Arbeit machen und der Raspberry PI läuft vor sich hin.
Idee ist das Bild bereits von der Cam (Raspberry) encoden zu lassen, damit SAP MII die Arbeit nicht machen muss.
Wie gesagt ist das eher mal als Konzeptstudie zu verstehen...spielen gerade etwas mit der Himbeere um mal zu sehen was die so für uns tun kann...sind aber alle keine Experten.

Re: jpg in string verwandeln

Verfasst: Freitag 2. September 2016, 13:29
von BlackJack
@automatix: Bilder als URL-Parameter? Du kennst die Längenbeschränkung von URLs‽

Re: jpg in string verwandeln

Verfasst: Montag 5. September 2016, 12:57
von automatix
ja stimmt...da war was....mist....
wie kriegt man denn dann ein Bild am besten übertragen?
Dann geht es doch nur über die Bild URL...

Re: jpg in string verwandeln

Verfasst: Montag 5. September 2016, 13:39
von Sirius3
Für große Datenmengen benutzt man normalerweise POST-Requests mit Content-Type "multipart/form-data". Was bei Deinem Framework da möglich ist, weiß ich aber nicht.

Re: jpg in string verwandeln

Verfasst: Dienstag 6. September 2016, 19:09
von automatix
ah okay, danke für den Hinweis. Da muss ich mal nachforschen....wie gesagt, alles Neuland für mich
Für unsere Konzeptstudie speichern wir die Bilder jetzt erstmal auf einem Fileshare und übergeben den Namen der Datei dann an den "Webservice". Quick and dirty - aber funktioniert wunderbar. Wenn es unseren Obrigkeiten gefällt, dann müssen wir uns da wohl noch reinknien...