我有base64编码的图像字符串,它的质量是2 mb,我想再有一个base64字符串,其mb低于50 kb。我无法找到任何解决方案来从低质量的base64字符串中获取图像。我怎么能这样做
$scope.SaveImage = function () {
var desc=$scope.img.Desc
var SaveList=[];
for(var i=0;i<Pictures.length;i++){
var item={
taskId:taskId,
desc:desc,
raw:Pictures[i].image,
thumbnail:Pictures[i].image
}
SaveList.push(item);
}
$http.post('http://example.com:3000/photos/',SaveList).success(function(response){ //make a get request to mock json file.
var data=response;
window.location.reload();
})
.error(function(err){
alert(JSON.stringify(err));
})
}
上面的代码我列出了包含base64编码字符串的列表,并且我将在帖子项目缩略图中发布数据必须低于50kb。
提前致谢,
答案 0 :(得分:0)
您可以使用canvas
缩小图片大小。您可以使用canvas.toDataURL()
指定图像格式和图像质量,如下所示:
canvas.toDataURL('image/jpeg',0.7)
您还可以使用ng-image-compress
来实现目标。
Here是ng-image-compress
的文档。