直接上代码
const reader = new FileReader()
//正确的代码
reader.onload = e => {
let data;
if (typeof e.target.result === 'object') {
// 把Array Buffer转化为blob 如果是base64不需要
data = window.URL.createObjectURL(new Blob([e.target.result]));
} else {
data = e.target.result;
}
this.cropperImg = data;
console.log(this.cropperImg)
};
//错误的代码
reader.onload = function(ev) {
let data;
// 1.1文件读取完成
if (typeof ev.target.result === 'object') {
// 把Array Buffer转化为blob 如果是base64不需要
data = window.URL.createObjectURL(new Blob([ev.target.result]));
} else {
data = ev.target.result;
}
this.cropperImg = data;
console.log(this.cropperImg)
}
关键:箭头语法没有自己的this
箭头函数语法:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions
总结:主要是没有认真的学过 js 的基础语法,也很少用 js 开发,导致一个小问题搞了很久没搞定,熬夜把自己熬死了,很多时候都是这样子,开发 flutter 的时候也是这样
发表回复