我正在尝试将图片从angular App
中的mysql
保存到python
blob字段,但图片无法正常保存。
这就是我将图像转换为字节数组的方法
var reader = new FileReader();
reader.readAsArrayBuffer($scope.UserImage);
reader.onload = function(e){
var arrayBuffer = reader.result;
$scope.ImageArr = new Uint8Array(arrayBuffer);
};
我在python中将$scope.ImageArr
作为dict
获得了键值列表,然后我就像这样从中获取值
userByte =bytearray(ImageArr.values())
但是当我在mysql的Blob字段中保存这个userByte
时,它会在那里保存一些字节,但这不是一个合适的图像。
任何猜测我做错了什么或我错过了什么?任何形式的帮助将不胜感激。
编辑:(更新的代码对我有用)
首先我通过此代码将我的图像转换为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
然后在python中我用这样的字节编码它
bytes(UserImage,"utf-8")
这对我来说非常好。
答案 0 :(得分:1)
作为hint
您可以轻松保存base64图像而不是字节数组