欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript將圖片的絕對路徑轉(zhuǎn)換為base64編碼的方法

 更新時間:2018年01月11日 15:56:57   作者:龍恩0707  
這篇文章主要介紹了Javascript將圖片的絕對路徑轉(zhuǎn)換為base64編碼的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

復(fù)制代碼 代碼如下:

我們?nèi)缦戮帉懘a:

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 運行如下所示:

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

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);
}

但是有時候我們想引用其他服務(wù)器下的圖片該如何解決呢?我們可以使用下面這一句代碼在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下,經(jīng)測試生效,在safari目前不支持;

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js 動態(tài)給元素添加、移除事件的實現(xiàn)方法

    js 動態(tài)給元素添加、移除事件的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨s 動態(tài)給元素添加、移除事件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 使用js編寫實現(xiàn)拼圖游戲

    使用js編寫實現(xiàn)拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了使用js編寫實現(xiàn)拼圖游戲,一種是拖拽拼圖,一種是經(jīng)典的九宮格拼圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 使用JavaScript輕松實現(xiàn)拖拽功能

    使用JavaScript輕松實現(xiàn)拖拽功能

    這篇文章主要介紹了使用JavaScript輕松實現(xiàn)拖拽功能,讓你的網(wǎng)頁動起來,文中通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • JavaScript中reduce()詳解及使用方法

    JavaScript中reduce()詳解及使用方法

    reduce()方法接收一個函數(shù)做為累加器,數(shù)組中的每一個值(從左到右)開始縮減,最終計算為一個值,下面這篇文章主要給大家介紹了關(guān)于JavaScript中reduce()詳解及使用方法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • JS document form表單元素操作完整示例

    JS document form表單元素操作完整示例

    這篇文章主要介紹了JS document form表單元素操作,結(jié)合完整實例形式詳細(xì)分析了JavaScript form表單元素獲取、輸出、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • js控制一個按鈕是否可點擊(可使用)disabled的實例

    js控制一個按鈕是否可點擊(可使用)disabled的實例

    下面小編就為大家?guī)硪黄猨s控制一個按鈕是否可點擊(可使用)disabled的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Highslide.js是一款基于js實現(xiàn)的網(wǎng)頁中圖片展示插件

    Highslide.js是一款基于js實現(xiàn)的網(wǎng)頁中圖片展示插件

    這篇文章主要介紹了Highslide.js是一款基于js實現(xiàn)的網(wǎng)頁中圖片預(yù)覽查看工具,需要的朋友可以參考下
    2007-05-05
  • js實現(xiàn)隨機數(shù)小游戲

    js實現(xiàn)隨機數(shù)小游戲

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)隨機數(shù)小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • FireFox與IE 下js兼容觸發(fā)click事件的代碼

    FireFox與IE 下js兼容觸發(fā)click事件的代碼

    FireFox與IE 下js兼容觸發(fā)click事件 ,對于需要兼容這兩者的朋友,就需要參考下下面的代碼了
    2008-11-11
  • 微信小程序多表聯(lián)合查詢的實現(xiàn)詳解

    微信小程序多表聯(lián)合查詢的實現(xiàn)詳解

    小程序設(shè)計中,通常會根據(jù)業(yè)務(wù)來做多表的拆分,多表拆分一般是根據(jù)業(yè)務(wù)的特點進行拆分。比如我們在文章關(guān)注的業(yè)務(wù)中,會將文章和關(guān)注信息拆分成一對多的表關(guān)系。初學(xué)者可能對一對一、一對多、多對多的設(shè)計概念不是特別清楚
    2022-08-08

最新評論