最近公司在做小程序直播,需要在公司后台添加直播商品,创建商品有要求 要求图片的尺寸是 1:1的。
公司有上千种产品准备是让运营人员直接选择商品 将需要的资料自动添加进去 点击确定就行
公司产品都是有商品图片的 但是图片的尺寸 不是1:1 而且图片都是大图,所以需要将图片进行压缩 后裁剪 再上传
下面开始了 : 点击【选择】按钮后
1.将当前商品图片的url 转base64 ; 为什么要转呢 因为直接用url,toDataURL() 和putImageData()会报跨域错误
getBase64: function (imgUrl, callback) {
window.URL = window.URL || window.webkitURL;
let xhr = new XMLHttpRequest();
xhr.open("get", imgUrl, true);
// 至关重要
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status == 200) {
//得到一个blob对象
let blob = this.response;
console.log("blob", blob)
// 至关重要
let oFileReader = new FileReader();
oFileReader.onloadend = function (e) {
// 此处拿到的已经是 base64的图片了