校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > html5中如何將圖片的絕對路徑轉換成文件對象

html5中如何將圖片的絕對路徑轉換成文件對象

熱門標簽:鄭州電銷外呼系統違法嗎 中紳電銷智能機器人 跟電銷機器人做同事 漳州人工外呼系統排名 濟南辦理400電話 鶴壁手機自動外呼系統怎么安裝 農村住宅地圖標注 ai電銷機器人連接網關 威海營銷外呼系統招商

本文介紹了html5中將圖片的絕對路徑轉換成文件對象,分享給大家,具體如下:

將圖片的絕對路徑轉換成base64編碼,請看這篇文章

我們先來理解基本知識點:

1. 理解HTML5中的FileList對象與file對象。

在HTML5中,FileList對象表示用戶選擇的文件列表。通過添加multipe屬性,file控件內允許一次選擇多個文件。控件內的每一個用戶選擇的文件都是一個file對象,而FileList對象則是file對象的列表。代表用戶選擇的所有文件。我們先來看一個簡單的demo,看下file文件對象有哪些屬性。如下代碼:

<!DOCTYPE html>
<html>
  <head>
    <title>filesystem:URL</title>
  </head>
  <body>
    <div>
      <label>選擇:</label>
      <input type='file' multiple id="file" />
      <input type="button" value="文件上傳" onClick="showFile()" />
    </div>
    <script>
      function showFile() {
        var files = document.getElementById('file').files;  // 返回所有被選擇的文件
        for (var i = 0, ilen = files.length; i < ilen; i++) {
          // 打印出單個文件對象的信息
          console.log(files[i]);
          /*  
           * 打印的信息如下:
           File {
            lastModified: 1457946612000
            lastModifiedDate: Mon Mar 14 2016 17:10:12 GMT+0800 (CST) {}
            name: "test.html"
            size: 796
            type: "text/html"
            webkitRelativePath: "" 
          */
          /*  如果上傳的是一張圖片的話,會返回如下信息的
            File {
              lastModified: 1466907500000
              lastModifiedDate: Sun Jun 26 2016 10:18:20 GMT+0800 (CST) {}
              name: "a.jpg"
              size: 23684
              type: "image/jpeg"
              webkitRelativePath: ""
            }
          */
          /*
           因此 如果需要判斷該上傳的文件是不是圖像文件的話,可以根據type類型來判斷如下:
           var file = files[i];
           if (!/image\/\w+/.test(file.type)) {
              console.log('該文件不是圖像文件');
           } else {
              console.log('該文件是圖像文件');
           }

           但是如果只讓傳圖片的話,可以在image控件添加一個屬性 accept="image/*" 即可;我們可以如下寫代碼:
           <input type='file' multiple accept = 'image/gif,image/jpeg,image/jpg,image/png' />
           */
        }
      }
    </script>
  </body>
</html>

2. 理解Blob對象

要點:在HTML5中,新增一個Blob對象,代表原始二進制數據,其實file對象也是繼承了Blob對象。

Blob對象有兩個屬性,size屬性表示一個Blob對象的字節長度,type屬性表示Blob的MIME類型,如果是未知類型,則返回一個空字符串。

請看如下代碼:

<!DOCTYPE html>
<html>
  <head>
    <title>filesystem:URL</title>
  </head>
  <body>
    <div>
      <label>選擇文件:</label>
      <input type="file" id="file" />
      <input type="button" value="顯示文件信息" onClick="showFileType()" />
      <p>文件字節長度: <span id="size"></span></p>
      <p>文件類型:<span id="type"></span></p>
    </div>
    <script>
      function showFileType() {
        var file;
        // 獲取用戶選擇的第一個文件
        file = document.getElementById('file').files[0];
        var size = document.getElementById('size');
        var type = document.getElementById('type');
        // 顯示文件字節的長度
        size.innerHTML = file.size;
        // 顯示文件的類型
        type.innerHTML = file.type;

        // 打開控制臺 查看返回的file對象
        console.log(file);
      }
    </script>
    
  </body>
</html>

注意:Blob和File是可以同時使用的,可以使用FileReader從Blob中讀取數據。

下面是一段絕對路徑的圖片地址轉換為base64編碼的圖片,然后將base64編碼的圖片轉換成blob對象。代碼如下:

<!DOCTYPE html>
<html>
  <head>
    <title>將以base64的圖片url數據轉換為Blob</title>
  </head>
  <body>
    <script>
      /**  
       * 將以base64的圖片url數據轉換為Blob  
       * @param urlData  
       * 用url方式表示的base64圖片數據  
       */  
      function convertBase64UrlToBlob(base64){ 
        var urlData =  base64.dataURL;
        var type = base64.type;
        var bytes = window.atob(urlData.split(',')[1]); //去掉url的頭,并轉換為byte
        //處理異常,將ascii碼小于0的轉換為大于0  
        var ab = new ArrayBuffer(bytes.length);  
        var ia = new Uint8Array(ab);  
        for (var i = 0; i < bytes.length; i++) {  
            ia[i] = bytes.charCodeAt(i);  
        }  
        return new Blob( [ab] , {type : type});  
      }
      /* 
       * 圖片的絕對路徑地址 轉換成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: dataURL,
          type: "image/"+ext
        };
      }
      var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg";
      var image = new Image();
      image.crossOrigin = '';
      image.src = img;
      image.onload = function(){
        var base64 = getBase64Image(image);
        console.log(base64);
        /*
         打印信息如下:
         {
          dataURL: "data:image/png;base64,xxx"
          type: "image/jpg"
         }
         */
        var img2 = convertBase64UrlToBlob(base64);
        console.log(img2);
        /*
         打印信息如下:
         Blob {size: 9585, type: "image/jpg"}
         */
      } 
    </script>
  </body>
</html>

注意:在HTML5中,新增一個Blob對象,代表原始二進制數據,其實file對象也是繼承了Blob對象。因此我們可以使用圖片的絕對地址轉換成文件對象。

因此我們可以使用絕對地址的圖片轉換成file文件對象,詳細的demo可以看我git上圖片上傳控件,該插件先是圖片上傳支持,然后突然發現到編輯頁面的時候,需要顯示默認的圖片,也可以同時支持在默認顯示圖片的情況下繼續上傳新圖片,或者刪除所有的圖片,但是開發人員給我的只有圖片的絕對地址,所以就一直想通過圖片的絕對地址如何轉換成file對象,如果不轉成file對象的話,使用這句代碼的時候 var reader = new FileReader(); 會報錯,因此可以使用我們上面講的blob對象先轉換成blob對象,然后就可以使用文件操作對象 fileReader。

詳細的代碼,請看我git上的 圖片上傳控件(https://github.com/tugenhua0707/html5UploadImage) , 效果查看 https://tugenhua0707.github.io/html5UploadImage/index.html

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

標簽:營口 萍鄉 蘇州 咸陽 文山 惠州 甘南 紅河

巨人網絡通訊聲明:本文標題《html5中如何將圖片的絕對路徑轉換成文件對象》,本文關鍵詞  html5,中,如何,將,圖片,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5中如何將圖片的絕對路徑轉換成文件對象》相關的同類信息!
  • 本頁收集關于html5中如何將圖片的絕對路徑轉換成文件對象的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    五月天激情综合| 婷婷丁香久久五月婷婷| 日韩欧美亚洲国产精品字幕久久久| a亚洲天堂av| 成+人+亚洲+综合天堂| 成人国产视频在线观看| 丁香啪啪综合成人亚洲小说| 成人小视频免费观看| 成人国产精品免费网站| 99视频国产精品| 91精品福利在线| 91精品国产91久久久久久最新毛片| 欧美二区乱c少妇| 欧美大片在线观看一区二区| 欧美不卡123| 国产精品午夜在线观看| 中文字幕一区免费在线观看| 亚洲精品日韩综合观看成人91| 一区二区三区四区高清精品免费观看 | 日韩美一区二区三区| 日韩欧美三级在线| 国产精品毛片久久久久久| 国产蜜臀av在线一区二区三区| 欧美国产精品一区二区| 亚洲激情校园春色| 美国毛片一区二区三区| 高清av一区二区| 在线国产电影不卡| 久久尤物电影视频在线观看| 国产精品视频麻豆| 午夜影院久久久| 国产成人在线视频网站| 91偷拍与自偷拍精品| 欧美日本在线观看| 精品国产一区二区在线观看| 中文字幕一区二区三区色视频| 午夜精品久久一牛影视| 国产精品亚洲综合一区在线观看| 色婷婷综合久久久中文字幕| 日韩美女一区二区三区| 亚洲精品你懂的| 国内国产精品久久| 91久久人澡人人添人人爽欧美 | 麻豆精品视频在线观看免费| 国产精品1区2区| 欧美一级国产精品| 亚洲激情网站免费观看| 国产麻豆视频一区二区| 91精品国产综合久久久蜜臀图片| 国产精品灌醉下药二区| 老司机一区二区| 欧美日韩在线播放| 国产精品久久久久久久裸模| 日韩av二区在线播放| 色综合久久久久久久久| 国产精品系列在线| 九九**精品视频免费播放| 欧美精品久久天天躁| 亚洲精品视频在线观看免费| 成a人片国产精品| 亚洲国产精品成人久久综合一区| 美女视频黄 久久| 777久久久精品| 亚洲制服丝袜在线| 99re热这里只有精品免费视频| 久久亚洲免费视频| 精品一区二区三区免费| 欧美一区在线视频| 日韩精品一级二级| 欧美一区二区在线不卡| 日韩精品色哟哟| 在线不卡的av| 天天操天天色综合| 欧美一区2区视频在线观看| 亚洲色图另类专区| 色综合中文字幕| 亚洲综合丝袜美腿| 欧美日韩国产色站一区二区三区| 洋洋av久久久久久久一区| 色哟哟欧美精品| 亚洲国产综合91精品麻豆| 欧美丝袜丝交足nylons| 香蕉久久夜色精品国产使用方法| 精品视频在线免费看| 日韩成人一区二区| 久久在线免费观看| 波多野结衣欧美| 亚洲午夜私人影院| 欧美哺乳videos| 成人动漫在线一区| 亚洲精品国产精华液| 91麻豆精品国产无毒不卡在线观看| 五月婷婷综合网| 欧美一区日本一区韩国一区| 久久精品国产在热久久| 久久精品一区八戒影视| 成人av动漫网站| 亚洲国产人成综合网站| 精品国产亚洲在线| 不卡的av网站| 天天综合日日夜夜精品| 国产亚洲1区2区3区| 91日韩在线专区| 秋霞国产午夜精品免费视频| 久久久久九九视频| 在线看日韩精品电影| 美女国产一区二区| 亚洲欧美乱综合| 精品国产一区二区三区av性色 | 日韩国产一区二| 国产亚洲综合在线| 欧美日韩国产一区二区三区地区| 精油按摩中文字幕久久| 一区二区三区在线视频免费观看| 日韩精品资源二区在线| av不卡在线播放| 九色综合狠狠综合久久| 亚洲主播在线观看| 国产精品人人做人人爽人人添| 欧美日韩国产影片| 97精品久久久久中文字幕| 久久成人免费日本黄色| 亚洲国产成人av网| 国产精品久久久久精k8| 欧美tk—视频vk| 欧美日韩一区二区三区视频| 白白色 亚洲乱淫| 精品亚洲成a人| 婷婷综合另类小说色区| 亚洲女人小视频在线观看| 久久久精品免费观看| 久久久精品一品道一区| 欧美精品高清视频| 欧美性大战久久| 99精品欧美一区二区三区小说 | 99久久精品国产精品久久| 麻豆精品一二三| 日本午夜精品一区二区三区电影| 亚洲精品国产精华液| 《视频一区视频二区| 欧美激情一区二区三区蜜桃视频| 精品少妇一区二区| 欧美一级黄色片| 91麻豆精品国产综合久久久久久 | 久久精品一区二区三区四区| 日韩精品一区二区三区中文不卡 | 久久久亚洲精品石原莉奈| 91精品国产综合久久香蕉的特点 | 欧美精品一区二区三区蜜桃| 欧美麻豆精品久久久久久| 欧美日韩视频不卡| 欧美偷拍一区二区| 欧美在线短视频| 欧美日产在线观看| 欧美一区二区精品久久911| 这里只有精品99re| 欧美一区二区三区四区五区| 日韩欧美www| 欧美精品一区视频| 久久中文娱乐网| 国产精品网站在线| 亚洲精品国产a| 婷婷开心激情综合| 蜜臀久久99精品久久久久宅男| 久久精品av麻豆的观看方式| 国产一区二区三区不卡在线观看| 国产suv一区二区三区88区| 91一区一区三区| 欧美片网站yy| 精品国产亚洲在线| 最新久久zyz资源站| 亚洲国产精品一区二区尤物区| 奇米色777欧美一区二区| 久久99久国产精品黄毛片色诱| 国产在线视视频有精品| 成a人片国产精品| 69堂国产成人免费视频| 国产亚洲女人久久久久毛片| 亚洲色图一区二区三区| 日韩精品亚洲专区| 成人在线综合网| 欧美日韩久久一区二区| 久久免费电影网| 一区二区三区四区五区视频在线观看| 亚洲超碰精品一区二区| 福利一区在线观看| 91精品国产综合久久久久久久 | 日韩中文字幕区一区有砖一区 | 亚洲成人三级小说| 国产成人亚洲精品青草天美| 色哟哟一区二区三区| 日韩欧美视频一区| 亚洲免费观看高清完整版在线观看熊| 蜜臀精品一区二区三区在线观看 | 婷婷夜色潮精品综合在线| 粉嫩aⅴ一区二区三区四区 | 椎名由奈av一区二区三区| 精品午夜久久福利影院| 色噜噜狠狠色综合中国| 久久久精品日韩欧美|