2

我已经实现了Signature-Pad及其工作。所以,现在我想将签名作为.png图像存储到local/cloudinary.

$scope.saveCanvas = function() {
  var sigImg = signaturePad.toDataURL('image/png');
  $scope.signature = sigImg;
  console.log("$scope.signature :",$scope.signature);
}

上面的代码给出了base64类似的字符串:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAY

如何将图像转换base64.png图像?

我试过了:angular-base64

 $scope.decoded = $base64.decode(sigImg);

这个不知道怎么用。。

谢谢..!

4

1 回答 1

0

您可以使用以下代码执行此操作:

const dataURL = this.signaturePad.toDataURL('image/png');
const data = atob(dataURL.substring('data:image/png;base64,'.length)),
  asArray = new Uint8Array(data.length);

for (var i = 0, len = data.length; i < len; ++i) {
  asArray[i] = data.charCodeAt(i);
}

const blob = new Blob([asArray], { type: 'image/png' });

然后你应该能够上传blob到 cloudinary。

我从以下stackoverflow答案中获取了此代码

于 2018-12-17T16:34:31.137 回答