最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于JavaScript實(shí)現(xiàn)本地圖片預(yù)覽

 更新時(shí)間:2017年02月08日 16:59:46   作者:司馬懿字仲達(dá)  
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)本地圖片預(yù)覽的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js本地圖片預(yù)覽的具體代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html>
<!--
<!DOCTYPE html>一定要放在第一行,除非上面都是空行

在HTML規(guī)范中,單獨(dú)存在的標(biāo)簽是不需要使用/來(lái)自我關(guān)閉的,比如<br>,<input>,<hr>等等這樣的標(biāo)簽都是符合語(yǔ)法的.
在XHTML規(guī)范中,單獨(dú)存在的標(biāo)簽要按照XML的語(yǔ)法規(guī)則進(jìn)行自我關(guān)閉,上面三個(gè)標(biāo)簽就應(yīng)寫(xiě)成<br />,<input />,<hr />
-->
<html>
  <head>
    <meta charset="utf8">
    <style>
      input[type=radio] {
        /* 按鈕與文字對(duì)齊 */
        vertical-align:middle;
      }
      input[type=file] {
        display: block;
      }
      #img {
        width: 200px;
        height: 200px;
        border: 1px solid black;
        margin-top: 10px;
      }
    </style>
  </head>
  <body>
    <input type="radio" name="previewType" value="fileReader" onChange="onPreviewTypeChange()">fileReader
    <input type="radio" name="previewType" value="createURL" onChange="onPreviewTypeChange()">createURL
    <hr>
    <input type="file" id="imgFile" onChange="imgChange()" value="test.jpg">
    <img id="img">
    <script>
      var previewTypes = document.getElementsByName("previewType");
      var imgFile = document.getElementById("imgFile");
      var img = document.getElementById("img");

      function getPreviewType() {
        for(var i=0; i<previewTypes.length; i++) {
          if(previewTypes[i].checked) {
            return previewTypes[i].value;
          }
        }
      }

      function onPreviewTypeChange() {
        imgChange(event.target.value);
      }

      function imgChange(type) {
        img.src = "";
        var files = imgFile.files;
        console.log(files);
        if(!files || files.length === 0) {
          return;
        }
        var file = files[0];
        if(!type) {
          type = getPreviewType();
          if(!type) {
            return;
          }
        }
        switch(type) {
          case "fileReader":
            var fr = new FileReader();
            fr.onload = function(progressEvent) {
              console.log(progressEvent);
              img.src = progressEvent.target.result;
            }
            fr.readAsDataURL(file);
            break;
          case "createURL":
            img.onload = function() {
              //釋放一個(gè)之前通過(guò)調(diào)用 URL.createObjectURL() 創(chuàng)建的已經(jīng)存在的 URL 對(duì)象。
              URL.revokeObjectURL(img.src);
            }
            img.src = URL.createObjectURL(file);
            break;
        }
      }
    </script>
  </body>
</html>


fileReader.readAsDataURL

URL.createObjectURL

可以看出URL實(shí)質(zhì)上是以“blob:”打頭的,后面跟著32位的UUID(8-4-4-4-12)的結(jié)構(gòu)。

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

相關(guān)文章

最新評(píng)論

阳山县| 金堂县| 运城市| 九龙城区| 古田县| 洛南县| 桦甸市| 广宁县| 两当县| 延吉市| 三明市| 桐柏县| 彭阳县| 克山县| 巴马| 定结县| 乐都县| 盈江县| 裕民县| 苗栗县| 沙坪坝区| 清流县| 乌苏市| 淳化县| 龙口市| 弥渡县| 城口县| 房山区| 旌德县| 中阳县| 潮州市| 天祝| 白沙| 图们市| 资兴市| 睢宁县| 汕尾市| 中牟县| 四子王旗| 汝南县| 宁远县|