国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript將圖片的絕對路徑轉換為base64編碼的方法

2019-11-19 14:32:27
字體:
來源:轉載
供稿:網友

我們可以使用canvas.toDataURL的方法將圖片的絕對路徑轉換為base64編碼;在這我們引用的是淘寶首頁一張圖片如下:

復制代碼 代碼如下:

我們如下編寫代碼:

function getBase64Image(img) {    var canvas = document.createElement("canvas");    canvas.width = img.width;    canvas.height = img.height;    var ctx = canvas.getContext("2d");    ctx.drawImage(img, 0, 0, img.width, img.height);    var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();    var dataURL = canvas.toDataURL("image/"+ext);    return dataURL;}var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";var image = new Image();image.src = img;image.onload = function(){  var base64 = getBase64Image(image);  console.log(base64);}

chrome 運行如下所示:

通過搜索明白,我們使用的是淘寶服務器上的一張圖片,在本地服務器下訪問,結果出現圖片跨域的問題;為止,我們可以把圖片放在本地服務器下即可解決上面的跨域問題;比如我現在將淘寶服務器下的圖片保存在本地服務器下;如下代碼即可解決:

var img = "http://127.0.0.1/base64/1.jpg";function getBase64Image(img) {  var canvas = document.createElement("canvas");  canvas.width = img.width;  canvas.height = img.height;  var ctx = canvas.getContext("2d");  ctx.drawImage(img, 0, 0, img.width, img.height);  var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();      var dataURL = canvas.toDataURL("image/"+ext);  return dataURL;}var image = new Image();image.src = img;image.onload = function(){  var base64 = getBase64Image(image);  console.log(base64);}

但是有時候我們想引用其他服務器下的圖片該如何解決呢?我們可以使用下面這一句代碼在chrome和firefox下生效,在目前safari6以下貌似不支持;如下代碼:

image.crossOrigin = '';

所有代碼如下:

var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";//var img = "http://127.0.0.1/base64/1.jpg";function getBase64Image(img) {  var canvas = document.createElement("canvas");  canvas.width = img.width;  canvas.height = img.height;  var ctx = canvas.getContext("2d");  ctx.drawImage(img, 0, 0, img.width, img.height);  var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();  var dataURL = canvas.toDataURL("image/"+ext);  return dataURL;}var image = new Image();image.crossOrigin = '';image.src = img;image.onload = function(){  var base64 = getBase64Image(image);  console.log(base64);}

如上代碼在chrome和firefox下,經測試生效,在safari目前不支持;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无为县| 景泰县| 阿合奇县| 烟台市| 东宁县| 天水市| 清镇市| 通化市| 牡丹江市| 奇台县| 赫章县| 梅河口市| 峨眉山市| 沙河市| 饶阳县| 洮南市| 遂溪县| 陇川县| 洛扎县| 南木林县| 泾川县| 荥经县| 景谷| 张北县| 临潭县| 仁化县| 新绛县| 万宁市| 赣榆县| 镇远县| 伊金霍洛旗| 惠东县| 保山市| 江阴市| 微山县| 萍乡市| 柘城县| 盘锦市| 天津市| 当阳市| 平山县|