基于图片的cdn最终得到blob对象
- 实现并不是直接下载cdn图片,所以最终blob数据大小和cdn原图有偏差
- 通过cdn判断资源是否是图片
- 通过cdn链接拿到图片资源,绘制在画布上
- canvas上下文的方法,转为base64格式
- base64转化为blob对象
- 有多张cdn图片需要处理为blob的情况下,请妥善使用Promise处理异步事件
- 此方法适合对按cdn图片格式最终转化成的图片格式对应的需求,但大小方面需要自己判断后压缩
- 如果对最终转化图片无格式要求,convertUrlToBase64函数中的变量ext可以直接写成’jpeg’,利用canvas上下文,可以更加精准的压缩
function isImage(ext) {
if (ext == 'png' || ext == 'jpg' || ext == 'jpeg' || ext == 'gif' || ext == 'bmp') {
return true;
}
}
function convertUrlToBase64(url) {
return new Promise(function (resolve, reject) {
let img = new Image();
img.crossOrigin = 'Anonymous'