婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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中如何將圖片的絕對路徑轉換成文件對象的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    中文字幕一区二区视频| 国产真实乱偷精品视频免| 国产成人aaa| 中文字幕综合网| 26uuu精品一区二区在线观看| av电影在线观看一区| 一区二区三区精品在线| 欧美经典一区二区| 欧美日韩成人一区| 亚洲女同一区二区| 国产精品麻豆网站| 3d动漫精品啪啪1区2区免费 | 亚洲成人免费在线观看| ...中文天堂在线一区| 欧美一级片免费看| 91在线免费播放| av在线不卡网| 狠狠狠色丁香婷婷综合激情 | 欧美日产在线观看| 欧美在线观看视频一区二区三区| 亚洲少妇30p| 亚洲免费观看在线视频| 欧美群妇大交群的观看方式| 精品无人码麻豆乱码1区2区| 亚洲免费在线视频| 精品免费视频.| 欧美日韩一区 二区 三区 久久精品| 婷婷激情综合网| 一区二区三区小说| 欧美精品一二三区| 国产精品1区2区| 久久66热re国产| 亚洲成av人片在www色猫咪| 亚洲不卡av一区二区三区| 欧美浪妇xxxx高跟鞋交| 国产91综合一区在线观看| 午夜激情一区二区三区| 亚洲精品视频免费看| 一区二区三区资源| 亚洲女人的天堂| 亚洲黄色av一区| 蜜臀av一区二区| 国产一区二区精品久久| eeuss鲁一区二区三区| 色就色 综合激情| 欧美性做爰猛烈叫床潮| 国产福利一区在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 夜夜精品浪潮av一区二区三区| 免费成人在线观看视频| 91精品国产综合久久精品| 久久久久久99久久久精品网站| 成人aaaa免费全部观看| 欧美草草影院在线视频| 欧美日韩国产片| 日韩精品中文字幕在线一区| 欧美成人一区二区三区片免费 | 国产亚洲欧美日韩在线一区| 欧美大片日本大片免费观看| 国产精品色哟哟| 中文字幕不卡在线| 久久久久久久综合日本| 精品欧美一区二区三区精品久久 | 国内精品写真在线观看 | 色婷婷亚洲一区二区三区| 99re成人精品视频| 色诱视频网站一区| 欧美日韩小视频| 欧美一区二区免费观在线| 精品欧美乱码久久久久久1区2区| 国产美女主播视频一区| 国产精品美女一区二区三区| 久久福利资源站| 亚洲国产精品天堂| 日韩精品一二区| 国产电影精品久久禁18| 99精品国产热久久91蜜凸| 欧美自拍丝袜亚洲| 日韩视频一区二区在线观看| 国产人伦精品一区二区| 亚洲另类在线视频| 1区2区3区国产精品| av电影一区二区| 免费在线观看不卡| 成a人片亚洲日本久久| 国产欧美一区在线| 91在线视频官网| 亚洲女同ⅹxx女同tv| 欧美日韩一区二区不卡| 视频一区二区不卡| 欧美精品一区二区三区四区 | 国产在线一区二区综合免费视频| hitomi一区二区三区精品| 亚洲精品视频一区| 91色在线porny| 久久久亚洲综合| 91国偷自产一区二区开放时间| 国产精品久久久久影视| 在线亚洲欧美专区二区| 日韩激情一区二区| 欧美激情一区二区三区| 91福利精品第一导航| 热久久一区二区| 亚洲人成精品久久久久久 | 丝袜诱惑亚洲看片| 日韩视频一区二区三区在线播放 | 国产精品入口麻豆原神| 国产日产亚洲精品系列| 国产专区综合网| 免费av成人在线| 色一情一伦一子一伦一区| 国产一区福利在线| 国产suv一区二区三区88区| 欧美日韩一区二区三区四区五区| 亚洲精品成人精品456| 欧美在线综合视频| 日本欧美肥老太交大片| 久久综合999| 成人app下载| 亚洲一二三四在线观看| 91精品婷婷国产综合久久竹菊| 精品毛片乱码1区2区3区| 色综合婷婷久久| 欧美熟乱第一页| 久久综合狠狠综合久久激情| 国产精品日韩成人| 中文字幕欧美区| 中文字幕亚洲在| 一区二区免费在线| 美女视频免费一区| 欧美大片一区二区| 欧美人成免费网站| 国产精品久久久久久久久免费桃花 | 日韩精品一区二区在线观看| 国产精品白丝jk黑袜喷水| 亚洲女同女同女同女同女同69| 欧美一二三区在线观看| 国产成人一区在线| 天天爽夜夜爽夜夜爽精品视频| 国产亚洲一二三区| 欧美无乱码久久久免费午夜一区| 久久99国产精品尤物| 一区二区三区日韩欧美| 精品电影一区二区| 538prom精品视频线放| 97久久精品人人做人人爽50路| 蜜臀精品一区二区三区在线观看| 亚洲视频一区在线| 久久久亚洲精品一区二区三区| 欧美三级电影在线看| 成人国产在线观看| 欧美成人a∨高清免费观看| 亚洲欧美激情小说另类| 欧美日韩视频在线第一区| 亚洲男人的天堂av| 91小视频在线观看| 一二三区精品视频| 色av成人天堂桃色av| 1区2区3区精品视频| 欧洲一区二区三区在线| 日日摸夜夜添夜夜添亚洲女人| 99精品一区二区| 韩国精品一区二区| 久久亚洲精精品中文字幕早川悠里| 成人激情免费电影网址| 精品制服美女久久| 天天影视涩香欲综合网| 亚洲综合色在线| 亚洲日本中文字幕区| 国产精品久久久久三级| 久久麻豆一区二区| 久久精品无码一区二区三区| 欧美电影精品一区二区| 欧美一区二区三区视频在线观看| 在线视频国产一区| 欧美最新大片在线看| 欧美色图在线观看| 欧美日韩一区精品| 欧美日韩久久一区| 欧美日韩国产一二三| 欧美性受xxxx| 欧美精选一区二区| 欧美成人三级在线| 久久亚洲精品小早川怜子| 久久久亚洲午夜电影| 亚洲国产精品二十页| 久久国产精品免费| 国产午夜精品一区二区三区嫩草| 日本怡春院一区二区| 成人毛片在线观看| 欧美亚洲动漫精品| 欧美成人女星排行榜| 成人av在线播放网址| 全国精品久久少妇| 日韩欧美激情四射| 精品一区二区在线视频| 欧美一区二区三区性视频| 一区二区三区成人在线视频| 国产在线精品不卡| 日韩视频免费观看高清完整版在线观看|