上传方式action中,非before-upload

上传成功的回调中:
handleSuccess(response,file,fileList){
const img = new Image()//实例化图片对象
const _this = this //改变this指向,实例中this指向该图片对象,非vue对象
img.onload = function(){
 _this.UploadFile.pic_width = img.width//赋值给data中的宽高
 _this.UploadFile.pic_height = img.height
}
 img.src = response.file //重要!把onload写到前面去,先告诉浏览器如何处理这张图片,再指定这张图片的源
}

在Chrome浏览器中获取图片宽高

var img = new Image();
img.src = imgsrc;
var imgWH = CalcImgTiple(img.width, img.height);
//若图片的src为网络链接而不是本地的,这么写 width和height都是0

在IE的情况

var img = new Image;
img.src = "test.gif";
img.onload = function(){
alert ( img.width );
};
//ie下onload有时不会被调用

原因:ie会缓存图片,第二次加载的图片不是网络请求,而是本地缓存池中的, 因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了


爬。