Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲一区在线免费,国产粉嫩粉嫩的18在线播放91,欧美换爱交换乱理伦片禁忌

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          10行JavaScript代碼完成圖片的上傳預覽

          10行JavaScript代碼完成圖片的上傳預覽

          擊右上方紅色按鈕關注“web秀”,讓你真正秀起來

          前言

          冬至,希望大家都可以有餃子和湯圓吃,主要是能和自己家人愛人一起吃個飯。

          下面進入主題,用原生JS給擼個圖片上傳,預覽的小示例,希望對大家有所幫助。

          示例

          function fChange() { 
           let file=document.getElementById('file'); 
           // 輸出已經選擇圖片名字 
           console.log(file.value); 
           // 輸出已經選擇的圖片對象 
           console.log(file.files[0]); 
          } 
          ... 
          <input type="file" id="file" onchange="fChange()">
          

          10行JavaScript代碼完成圖片的上傳預覽

          我們怎么把圖片對象渲染到頁面了?達到可以預覽的目的?

          // file 轉 blob對象 
          let bold=window.URL.createObjectURL(file.files[0]); 
          console.log('bold==>'+bold); 
           
          let boldImg=document.getElementById('bold'); 
          boldImg.src=bold; 
           
          // file 轉 base64 
          let base64Img=document.getElementById('base64'); 
          var reader=new FileReader(); 
          reader.readAsDataURL(file.files[0]); 
          reader.onload=function (e) { 
           console.log('base64==>'+this.result); 
           base64Img.src=this.result; 
          }
          

          10行JavaScript代碼完成圖片的上傳預覽

          10行JavaScript代碼完成圖片的上傳預覽

          這樣看blob對象和base64都可以預覽圖片,但是blob對象僅僅是當次緩存,如果刷新,你重新把之前轉的字符串放到src是不可以預覽的,當時base64是可以的。所以存庫的時候不僅可以圖片路徑,還可以直接存base64(base64很占用數據庫空間,文件越大,base64字符串越大)

          優化

          下面我們對上面示例做優化,可以上傳多張圖片并預覽,美化界面。

          10行JavaScript代碼完成圖片的上傳預覽

          10行JavaScript代碼完成圖片的上傳預覽

          <div id="img-pre"> 
          </div> 
          <div id="add-pic"> 
           <input type="file" id="up-file" onchange="fChange()"> 
          </div>
          

          css樣式

          #add-pic{ 
           width: 100px; 
           height: 100px; 
           background: url('./add-pic.png') 
          } 
          #add-pic input{ 
           width: 100%; 
           height: 100%; 
           display: none; 
          } 
          #img-pre:after{ 
           display: block; 
           content: ''; 
           clear: both; 
          } 
          #img-pre img{ 
           float: left; 
           width: 100px; 
           height: 100px; 
           margin-right: 10px; 
          }
          

          javascript

          let addPic=document.getElementById('add-pic'), upFile=document.getElementById('up-file'); 
          // 監聽圖片點擊,從而觸發input file的點擊事件 
          addPic.addEventListener('click', function(){ 
           upFile.click(); 
          }) 
          function fChange() { 
           let file=document.getElementById('up-file'); 
           let imgPre=document.getElementById('img-pre'); 
           
           // file 轉 blob對象 
           let bold=window.URL.createObjectURL(file.files[0]); 
           
           // 創建img元素,并添加到img-pre元素里 
           var img=document.createElement("img"); 
           img.setAttribute("src", bold); 
           imgPre.appendChild(img); 
          }
          

          主要是通過css隱藏掉input file選擇文件按鈕,然后用+號圖片點擊事件來觸發input file的點擊事件,達到能選擇圖片的目的。

          公告

          喜歡小編的點擊關注,了解更多知識!

          源碼地址請點擊下方“了解更多”


          者:藍色的秋風

          轉發鏈接:https://mp.weixin.qq.com/s/cruL9JGZNZQFrMSrzJJWiQ

          端頁面:html

          <!DOCTYPE html>

          <html lang="en">

          <head>

          <meta charset="utf-8">

          <link href="./uploadfile.css" rel="stylesheet">

          <script src="./jquery.min.js"></script>

          <script src="./jquery.uploadfile.min.js"></script>

          </head>

          <body>

          <img class="imgPreview" width="80px" height="80px" style="display: none"/>

          <div id="mulitplefileuploader">上傳</div>

          <div id="status"></div>

          <script>

          $(document).ready(function (){

          var settings={

          url: "upload.php",

          dragDrop: true,

          fileName: "myfile",

          allowedTypes: "jpg,png,gif,doc,pdf,zip",

          returnType: "json",

          onSuccess: function (files, data, xhr){

          $('.imgPreview').show();

          $('.imgPreview').attr('src','uploads/'+data);

          }


          主站蜘蛛池模板: 亚洲国产精品一区二区第一页免 | 成人精品视频一区二区三区不卡| 日韩精品一区二区三区四区 | 成人精品一区二区激情| 波多野结衣中文一区| 99偷拍视频精品一区二区| 久久人妻av一区二区软件| 国精产品一区一区三区免费视频| 日韩一区二区三区在线精品| 国产成人一区二区在线不卡| 在线免费视频一区二区| 韩国福利视频一区二区| 性色AV一区二区三区无码| 亚洲日韩AV无码一区二区三区人| 在线播放偷拍一区精品| 天堂va视频一区二区| 日本免费一区二区三区最新| 国产SUV精品一区二区88L| 国产主播一区二区三区| 国产福利一区视频| 亚洲一区二区三区免费| 国产亚洲综合一区柠檬导航| 亚洲国产一区国产亚洲| 亚洲一区二区三区在线观看网站| 国产精品视频分类一区| 无码一区二区三区爆白浆| 亲子乱av一区区三区40岁| 国产高清视频一区二区| 中文字幕一区二区三区乱码| 少妇精品久久久一区二区三区 | 亚洲国产精品自在线一区二区| 久久久综合亚洲色一区二区三区 | 久久免费精品一区二区| 亚洲无线码一区二区三区| 久久久国产精品亚洲一区 | 黄桃AV无码免费一区二区三区 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 一区二区三区免费电影| 亚洲一区二区三区无码中文字幕| 91在线一区二区| 日本精品3d动漫一区二区|