這兩天在做移動(dòng)端上傳頭像功能,想對(duì)大于400kb的圖片進(jìn)行壓縮再上傳,壓縮大于400kb的圖片一直沒成功,也沒有報(bào)什么錯(cuò)誤,后來我重新看了自己的代碼,發(fā)現(xiàn)是因?yàn)楫?dāng)圖片大小大于400kb的時(shí)候,壓縮圖片函數(shù)傳入的base64Img參數(shù)我寫錯(cuò)了,真的是太粗心,現(xiàn)在將正確的代碼附上:uploadImg(){letvm=this;console.log(vm.temp);varimg=document.getElementById("phoneImage"),maxSize=400*1024;//400kbvarimgFile=newFileReader();imgFile.readAsDataURL(img.files[0]);imgFile.onload=function(){vm.temp.base64Img=imgFile.result;if(vm.temp.base64Img.length{constdata=response.data;vm.temp=data.data;setTimeout(()=>{vm.$router.push({path:"/setting"});window.location.reload();},5);});}else{//>400kb,壓縮再上傳vm.compress(vm.temp.base64Img,function(base64Img){uploadImage({base64Img}).then(response=>{constdata=response.data;setTimeout(()=>{vm.$router.push({path:"/setting"});window.location.reload();},5);});});}};},compress(base64Img,callback){varimg=newImage();img.src=base64Img;img.onload=function(){varwidth=img.width;varheight=img.height;varcanvas=document.createElement("canvas");canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(img,0,0,width,height);callback(canvas.toDataURL("image/jpeg",0.05));};}
web移動(dòng)端對(duì)上傳頭像圖片進(jìn)行壓縮,當(dāng)圖片過大的時(shí)候壓縮不成功但是也沒有報(bào)錯(cuò)
不負(fù)相思意
2019-05-13 11:36:08