亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS實現圖片轉換成base64的各種應用場景實例分析

2019-11-19 13:37:11
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現圖片轉換成base64的各種應用場景。分享給大家供大家參考,具體如下:

網絡上有很多片介紹通過js將圖片轉換成base64的文章,之所以再寫這篇文章的原因時發現沒有找到系統的介紹的文章,有的介紹如何實現本地項目的圖片轉碼,有的介紹如何實現網絡資源的圖片轉化,但是系統介紹的少之又少,所以我就在這里將各種場景系統的介紹一下:

場景一:將用戶本地上傳的資源轉化,即用戶通過瀏覽器點擊文件上傳時,將圖片資源轉化成base64:

<input type="file" id="image"><br/>
var reader = new FileReader();var AllowImgFileSize = 2100000; //上傳圖片最大值(單位字節)( 2 M = 2097152 B )超過2M上傳失敗var file = $("#image")[0].files[0];var imgUrlBase64;if (file) {  //將文件以Data URL形式讀入頁面  imgUrlBase64 = reader.readAsDataURL(file);  reader.onload = function (e) {   //var ImgFileSize = reader.result.substring(reader.result.indexOf(",") + 1).length;//截取base64碼部分(可選可不選,需要與后臺溝通)   if (AllowImgFileSize != 0 && AllowImgFileSize < reader.result.length) {      alert( '上傳失敗,請上傳不大于2M的圖片!');      return;    }else{      //執行上傳操作      alert(reader.result);    }  } }

場景二:將本項目中的圖片資源轉化成base64,(我還沒有用到過此場景,感覺場景二也可以通過場景三來實現)

function(){    var url = "static/img/js1.jpg";//這是站內的一張圖片資源,采用的相對路徑    convertImgToBase64(url, function(base64Img){    //轉化后的base64    alert(base64Img);    });}//實現將項目的圖片轉化成base64function convertImgToBase64(url, callback, outputFormat){    var canvas = document.createElement('CANVAS'),    ctx = canvas.getContext('2d'),    img = new Image;    img.crossOrigin = 'Anonymous';    img.onload = function(){      canvas.height = img.height;      canvas.width = img.width;      ctx.drawImage(img,0,0);      var dataURL = canvas.toDataURL(outputFormat || 'image/png');      callback.call(this, dataURL);      canvas = null;    };    img.src = url;}

場景三:將網絡圖片資源轉化為base64,(感覺場景二中的資源換成絕對路徑即可使用在場景三中)

function(){    //這是網上的一張圖片鏈接    var url="http://p1.pstatp.com/large/435d000085555bd8de10";    getBase64(url)      .then(function(base64){         console.log(base64);//處理成功打印在控制臺      },function(err){         console.log(err);//打印異常信息      });}//傳入圖片路徑,返回base64function getBase64(img){    function getBase64Image(img,width,height) {//width、height調用時傳入具體像素值,控制大小 ,不傳則默認圖像大小     var canvas = document.createElement("canvas");     canvas.width = width ? width : img.width;     canvas.height = height ? height : img.height;     var ctx = canvas.getContext("2d");     ctx.drawImage(img, 0, 0, canvas.width, canvas.height);     var dataURL = canvas.toDataURL();     return dataURL;    }    var image = new Image();    image.crossOrigin = '';    image.src = img;    var deferred=$.Deferred();    if(img){     image.onload =function (){      deferred.resolve(getBase64Image(image));//將base64傳給done上傳處理     }     return deferred.promise();//問題要讓onload完成后再return sessionStorage['imgTest']    }}

至此,便將圖片base64轉碼的三種場景介紹完畢了,下面是基于以上的一下拓展:

拓展一:后臺需要以純字符串的形式上傳(即去掉data:image/png;base64,截取字符串即可)

reader.result.substring(reader.result.indexOf(",") + 1)

拓展二:判斷base64資源大小,超過2M不讓上傳

var AllowImgFileSize = 2100000;  //上傳圖片最大值(單位字節)( 2 M = 2097152 B )if (AllowImgFileSize != 0 && AllowImgFileSize < reader.result.length) {   alert( '上傳失敗,請上傳不大于2M的圖片!');   return;}

其中reader.result即是base64轉碼后的結果。以上便是對網絡上的一些資源的整理,親測可用。

PS:這里再為大家提供幾款base64在線工具供大家參考:

BASE64編碼解碼工具:
http://tools.VeVB.COm/transcoding/base64

在線圖片轉換BASE64工具:
http://tools.VeVB.COm/transcoding/img2base64

Base64在線編碼解碼 UTF-8版:
http://tools.VeVB.COm/tools/base64_decode-utf8.php

Base64在線編碼解碼 gb2312版:
http://tools.VeVB.COm/tools/base64_decode-gb2312.php

更多關于JavaScript相關內容可查看本站專題:《JavaScript加密解密技巧匯總》、《javascript編碼操作技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一福利在线观看| 啪一啪鲁一鲁2019在线视频| 国产精品久久视频| 青草热久免费精品视频| 成人在线一区二区| 日韩av有码在线| 精品久久久视频| 国产欧美精品在线播放| 欧美成人一区二区三区电影| 欧美日韩加勒比精品一区| 九九久久综合网站| 久久综合伊人77777| 少妇久久久久久| 日韩精品在线播放| 亚洲欧美中文日韩在线v日本| 日韩av一区在线观看| 美女久久久久久久| yw.139尤物在线精品视频| 欧美在线不卡区| 欧美日韩视频在线| 一区二区欧美日韩视频| 国产美女搞久久| 性色av一区二区三区| 亚洲无限乱码一二三四麻| 91九色国产视频| 国产一区二区av| 中文日韩电影网站| 国产精品第8页| 国产精品男女猛烈高潮激情| 国产精品va在线| 日韩成人在线观看| 精品国产乱码久久久久久虫虫漫画| 国产精品美女久久久久av超清| 日韩电影中文字幕av| 红桃av永久久久| 日韩欧美亚洲成人| 疯狂欧美牲乱大交777| 欧美激情一二区| 国产精品久久久久久久7电影| 亚洲香蕉成视频在线观看| 国产午夜精品美女视频明星a级| 国产精品v片在线观看不卡| 国产精品高潮粉嫩av| 国产精品色午夜在线观看| 久久精品国产成人| 欧美亚洲另类制服自拍| 日韩欧美在线观看| 俺去亚洲欧洲欧美日韩| 欧美精品第一页在线播放| 中文字幕日韩欧美精品在线观看| 久久久噜噜噜久噜久久| 91精品国产色综合| 久久精品免费电影| 中文字幕在线看视频国产欧美在线看完整| 国产精品高精视频免费| 欧美激情视频播放| 色七七影院综合| 中文字幕欧美国内| 亚洲网址你懂得| 97国产精品人人爽人人做| 91精品国产91久久久| 亚洲精品一区av在线播放| 国产成人一区二区三区| 欧美视频一二三| 亚洲老板91色精品久久| 91精品国产乱码久久久久久久久| 欧美理论电影在线播放| 久久久久北条麻妃免费看| 国产婷婷97碰碰久久人人蜜臀| 亚洲图片欧洲图片av| 国产精品成人播放| 97国产精品人人爽人人做| 中文字幕免费精品一区| 97在线看福利| 国产精品久久综合av爱欲tv| 国产亚洲精品久久久优势| 国产精品黄页免费高清在线观看| 国产视频在线一区二区| 久久精品视频va| 中文字幕av一区二区三区谷原希美| 91精品视频播放| 欧美寡妇偷汉性猛交| 久久午夜a级毛片| 国产91露脸中文字幕在线| 国产精品久久久久久久久粉嫩av| 欧美网站在线观看| 国产精品亚洲美女av网站| 亚洲二区在线播放视频| 欧美日韩福利电影| 久久久久久久一区二区| 精品久久久久久久久久久久久| 亚洲国产精彩中文乱码av在线播放| 国产欧美一区二区白浆黑人| 日韩精品免费在线观看| 91久久精品国产91性色| 久久久av一区| 97视频在线观看成人| 国产高清在线不卡| 欧美精品日韩www.p站| 在线电影欧美日韩一区二区私密| 日韩美女写真福利在线观看| 另类色图亚洲色图| 亚洲精品久久久久久久久久久久久| 国产做受69高潮| 国产成人精品av在线| 欧美孕妇孕交黑巨大网站| 欧美午夜激情视频| 欧美激情亚洲另类| 国产一区二中文字幕在线看| 成人在线免费观看视视频| 国产精品国产三级国产aⅴ9色| 欧美性猛交xxxx偷拍洗澡| 91精品国产高清久久久久久91| 亚洲国内精品视频| 国产成人avxxxxx在线看| 国产精品www| 日本国产欧美一区二区三区| 这里只有精品丝袜| 欧美成人免费va影院高清| 欧美黄色片免费观看| 日韩av片免费在线观看| 2021国产精品视频| 久久免费成人精品视频| 精品激情国产视频| 精品国产91乱高清在线观看| 日韩久久免费电影| 亚洲高清不卡av| 精品国产欧美一区二区三区成人| 国产拍精品一二三| 57pao成人国产永久免费| 一本色道久久综合狠狠躁篇怎么玩| 国产精品成人免费电影| 亚洲欧美精品中文字幕在线| 欧美性xxxxhd| 成人h片在线播放免费网站| 亚洲午夜久久久久久久| 国产精品福利久久久| 国产精品一区二区女厕厕| 日韩精品视频中文在线观看| 亚洲社区在线观看| 91国在线精品国内播放| 一区二区三区视频免费| 日韩在线观看网站| 欧美日韩亚洲精品一区二区三区| 97在线精品视频| 国产日韩在线亚洲字幕中文| 国产精品678| 日韩欧美国产高清91| 国产日韩欧美视频| 久久av红桃一区二区小说| 精品性高朝久久久久久久| 日韩网站免费观看| 欧美日韩一区二区三区| 日韩中文字幕国产| 国产成人97精品免费看片| 九九精品视频在线| 夜夜嗨av一区二区三区四区| 亚洲色图五月天| 国产a∨精品一区二区三区不卡| 欧美国产日韩一区二区在线观看| 日韩av日韩在线观看| 成人免费在线视频网址| 91九色国产视频| 亚洲精品aⅴ中文字幕乱码|