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

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

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

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

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

在HTML規(guī)范中,單獨存在的標(biāo)簽是不需要使用/來自我關(guān)閉的,比如<br>,<input>,<hr>等等這樣的標(biāo)簽都是符合語法的.
在XHTML規(guī)范中,單獨存在的標(biāo)簽要按照XML的語法規(guī)則進(jìn)行自我關(guān)閉,上面三個標(biāo)簽就應(yīng)寫成<br />,<input />,<hr />
-->
<html>
  <head>
    <meta charset="utf8">
    <style>
      input[type=radio] {
        /* 按鈕與文字對齊 */
        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() {
              //釋放一個之前通過調(diào)用 URL.createObjectURL() 創(chuàng)建的已經(jīng)存在的 URL 對象。
              URL.revokeObjectURL(img.src);
            }
            img.src = URL.createObjectURL(file);
            break;
        }
      }
    </script>
  </body>
</html>


fileReader.readAsDataURL

URL.createObjectURL

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

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

相關(guān)文章

  • uploadify插件實現(xiàn)多個圖片上傳并預(yù)覽

    uploadify插件實現(xiàn)多個圖片上傳并預(yù)覽

    這篇文章主要為大家詳細(xì)介紹了uploadify插件實現(xiàn)多個圖片上傳并預(yù)覽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • JavaScript實現(xiàn)篩選數(shù)組

    JavaScript實現(xiàn)篩選數(shù)組

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)篩選數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 原生JS實現(xiàn)文件上傳

    原生JS實現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了原生JS實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 微信小程序使用this.setData()遇到的問題及解決方案詳解

    微信小程序使用this.setData()遇到的問題及解決方案詳解

    this.setData估計是小程序中最經(jīng)常用到的一個方法,但是要注意其實他是有限制的,忽略這些限制的話,會導(dǎo)致數(shù)據(jù)無法更新,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用this.setData()遇到的問題及解決方案,需要的朋友可以參考下
    2022-08-08
  • 解決eclipse中沒有js代碼提示的問題

    解決eclipse中沒有js代碼提示的問題

    今天小編就為大家分享一篇解決eclipse中沒有js代碼提示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • JavaScript的arguments對象應(yīng)用示例

    JavaScript的arguments對象應(yīng)用示例

    使用特殊對象 arguments,開發(fā)者無需明確指出參數(shù)名,就能訪問它們,下面為大家介紹下其具體的應(yīng)用
    2014-09-09
  • 使用JavaScript實現(xiàn)一個拖拽縮放效果

    使用JavaScript實現(xiàn)一個拖拽縮放效果

    這篇文章主要介紹了如何使用JS實現(xiàn)一個這樣的拖拽縮放效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • html判斷當(dāng)前頁面是否在iframe中的實例

    html判斷當(dāng)前頁面是否在iframe中的實例

    下面小編就為大家?guī)硪黄猦tml判斷當(dāng)前頁面是否在iframe中的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • JavaScript樹型數(shù)據(jù)與一維數(shù)組相互轉(zhuǎn)換方式

    JavaScript樹型數(shù)據(jù)與一維數(shù)組相互轉(zhuǎn)換方式

    這篇文章主要介紹了JavaScript樹型數(shù)據(jù)與一維數(shù)組相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • JS數(shù)組扁平化、去重、排序操作實例詳解

    JS數(shù)組扁平化、去重、排序操作實例詳解

    這篇文章主要介紹了JS數(shù)組扁平化、去重、排序操作,結(jié)合實例形式詳細(xì)分析了JS數(shù)組扁平化、去重、排序等相關(guān)操作原理、實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2020-02-02

最新評論