1.上传文件:
let imgdata = new FormData();
let form = this.dom.nativeElement;
imgdata.append('img', form.files[0]);
2.关于base64上传:
//使用cropperjs1.1.1:
let url = this.cropper.getCroppedCanvas().toDataURL("image/jpeg", 0.4);
let blobImg = this.convertBase64UrlToBlob(url);
let nameImg = new Date().getTime() + '.png';
this.formData.append('img', blobImg, nameImg);
convertBase64UrlToBlob(urlData) {
var bytes = window.atob(urlData.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i); }
return new Blob([ab], { type: 'image/png' }
);
}
注:文章实现方法参考别处。