使用canvas怎么對圖片壓縮上傳?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
首先得有一個上傳按鈕。
<input type="file" id="fileys" class="fileys" @change="uploadFile($event)" accept="image/*"/> <!--uploadFile用change是因為。用戶可能會重復(fù)選其他圖片-->
入正題:
uploadFile:function(event){ let file = event.target.files[0]; //獲取input的圖片file值 let param = new FormData(); // 創(chuàng)建form對象 if(param.getAll('file')[0] == "undefined"){ return false //判斷是不是空 } let reader = new FileReader() reader.readAsDataURL(file) //讀取文件并將文件以URL的形式保存在resulr屬性中 base64格式 ,,,網(wǎng)上文檔好像規(guī)定了格式。。我就選了一個base64 reader.onload = function(e) { // 文件讀取完成時觸發(fā) let result = e.target.result // base64格式圖片地址 var image = new Image() image.src = result // 設(shè)置image的地址為base64的地址 image.onload = function(){ var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); canvas.width = image.width; // 設(shè)置canvas的畫布寬度為圖片寬度 canvas.height = image.height; context.drawImage(image, 0, 0, image.width, image.height) // 在canvas上繪制圖片 let dataUrl = canvas.toDataURL('image/jpeg', 0.001) //設(shè)置壓縮比,可根據(jù)需要設(shè)置,設(shè)置過小會影響圖片質(zhì)量,dataUrl 為壓縮后的圖片資源,可將其上傳到服務(wù)器 let tupian = _this.dataURLtoFile(dataUrl, file.name) param.append('file', tupian);//對應(yīng)后臺接收圖片名 //然后這里就可以寫axios方法。去將這個param上傳到后臺 } } }
看完上述內(nèi)容,你們掌握使用canvas怎么對圖片壓縮上傳的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:使用canvas怎么對圖片壓縮上傳-創(chuàng)新互聯(lián)
分享URL:http://sd-ha.com/article12/podgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、外貿(mào)網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、外貿(mào)建站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容