2016-10-26 2 views
1

Ich versuche, Bild von angular App zu mysql Blob-Feld in python Bild speichern jedoch nicht ordnungsgemäß zu speichern.Bild nicht richtig in Blob-Feld (Angular App zu Python)

Dies ist, wie ich

var reader = new FileReader(); 
reader.readAsArrayBuffer($scope.UserImage); 
reader.onload = function(e){ 
    var arrayBuffer = reader.result; 
    $scope.ImageArr = new Uint8Array(arrayBuffer); 
}; 

Ich bekomme diesen $scope.ImageArr als dict in Python mit Schlüssel-Wert-Liste Bild auf Byte-Array konvertiert wird, dann bekomme ich Werte von dem es so

userByte =bytearray(ImageArr.values()) 

Aber wenn ich diese userByte in Mysql Blob Feld speichern, speichert es einige Bytes dort, aber das ist kein richtiges Bild.

Irgendwelche Vermutungen, was ich falsch mache oder was ich vermisse ?? Jede Art von Hilfe wird geschätzt.

Edited: (Aktualisiert Code, der für mich gearbeitet)

Zuerst konvertiere ich mein Bild durch diesen Code base64

reader = new FileReader(); 
reader.onloadend = function(e) { //callback after files finish loading 
    var img = e.target.result; 
    $scope.ImageArr = img; 
} 
reader.readAsDataURL($scope.UserImage); //once defined all callbacks, begin reading the file 

dann in Python codiert ich es in Bytes wie dieses

bytes(UserImage,"utf-8") 

Das funktioniert vollkommen in Ordnung für mich.

Antwort

1

für als hint können Sie base64 Bild speichern leicht anstatt Bytefeldgruppen

+1

Ihr Hinweis meine Arbeit getan ... Ich habe letzte Code in meine Frage bearbeitet Teil. Danke –