日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

html下纯JS实现图片压缩、预览、图片Base64转换

發布時間:2025/4/14 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html下纯JS实现图片压缩、预览、图片Base64转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 function ImgToBase64(file, maxLen, callBack) { 2 var img = new Image(); 3 4 var reader = new FileReader();//讀取客戶端上的文件 5 reader.onload = function () { 6 var url = reader.result;//讀取到的文件內容.這個屬性只在讀取操作完成之后才有效,并且數據的格式取決于讀取操作是由哪個方法發起的.所以必須使用reader.onload, 7 img.src = url;//reader讀取的文件內容是base64,利用這個url就能實現上傳前預覽圖片 8 }; 9 img.onload = function () { 10 //生成比例 11 var width = img.width, height = img.height; 12 //計算縮放比例 13 var rate = 1; 14 if (width >= height) { 15 if (width > maxLen) { 16 rate = maxLen / width; 17 } 18 } else { 19 if (height > maxLen) { 20 rate = maxLen / height; 21 } 22 }; 23 img.width = width * rate; 24 img.height = height * rate; 25 //生成canvas 26 var canvas = document.createElement("canvas"); 27 var ctx = canvas.getContext("2d"); 28 canvas.width = img.width; 29 canvas.height = img.height; 30 ctx.drawImage(img, 0, 0, img.width, img.height); 31 var base64 = canvas.toDataURL('image/jpeg', 0.9); 32 callBack(base64); 33 }; 34 reader.readAsDataURL(file); 35 }

調用方式:

1 $(function () { 2 $("#img").change(function () { 3 var file = $(this)[0].files[0];//獲取input file控件選擇的文件 4 5 ImgToBase64(file, 720, function (base64) { 6 $("#img1")[0].src = base64;//預覽頁面上預留一個img元素,載入base64 7 $("#img1")[0].width = 300;//設定寬高,不然會自動按照壓縮過的圖片寬高設定,有可能超出預想的范圍。
           //直接利用ajax上傳base64到服務器,完畢
8 }); 9 }) 10 })

?

轉載于:https://www.cnblogs.com/tiomer/p/7040742.html

總結

以上是生活随笔為你收集整理的html下纯JS实现图片压缩、预览、图片Base64转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。