91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5中怎么實現多圖上傳功能

發布時間:2021-08-07 16:59:19 來源:億速云 閱讀:116 作者:Leah 欄目:web開發

HTML5中怎么實現多圖上傳功能,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

HTML結構:

  1. <div class="container">  

  2.     <label>請選擇一個圖像文件:</label>  

  3.     <input type="file" id="file_input" multiple/>  

  4. </div>  

順便說下這個上傳的主要邏輯:

&middot;用input標簽并選擇type=file,記得帶上multiple,不然就只能單選圖片了

&middot;綁定好input的change時間,

&middot;重點就是如何處理這個change事件了,使用H5新的FileReader接口讀取文件并打成base64編碼,之后的事就是與后端同學交互著玩啦

JS代碼:

  1. window.onload = function(){   

  2.         var input = document.getElementById("file_input");   

  3.         var result,div;   

  4.     

  5.         if(typeof FileReader==='undefined'){   

  6.             result.innerHTML = "抱歉,你的瀏覽器不支持 FileReader";   

  7.             input.setAttribute('disabled','disabled');   

  8.         }else{   

  9.             input.addEventListener('change',readFile,false);   

  10.         }<br>     //handler   

  11.         function readFile(){   

  12.             for(var i=0;i<this.files.length;i++){   

  13.                 if (!input['value'].match(/.jpg|.gif|.png|.bmp/i)){  //判斷上傳文件格式   

  14.                     return alert("上傳的圖片格式不正確,請重新選擇")<br>          }   

  15.                 var reader = new FileReader();   

  16.                 reader.readAsDataURL(this.files[i]);   

  17.                 reader.onload = function(e){   

  18.                     result = '<div id="result"><img src="'+this.result+'" alt=""/></div>';   

  19.                     div = document.createElement('div');   

  20.                     div.innerHTML = result;   

  21.                     document.getElementById('body').appendChild(div);    //插入dom樹                      <br>          }   

  22.             }   

  23.         }   

  24.     }   

上傳多張圖片難道就這樣實現了嗎0.0

然而并沒有,這樣只是將圖片轉換成base64編碼后再前端顯示,一刷新什么都沒有

插入圖片后,打開開發者工具看html結構是這樣的

 HTML5中怎么實現多圖上傳功能

現實的做法是,我們在處理函數里將文件隊列里的文件發送到后端,后端同學呢返回文件對應的MD5加密過文件和路徑給前端,前端就拿著這個路徑渲染到頁面上。

之后再把MD5文件傳回給后端,因為上傳完后前端一般有刪除圖片的操作,回傳目的就是告訴后端確認那些圖片是我們想要的,后端存入數據庫里。

說下用jquery如何交互吧

JavaScript Code復制內容到剪貼板

  1. function readFile(){   

  2.             var fd = new FormData();   

  3.             for(var i=0;i<this.files.length;i++){   

  4.                 var reader = new FileReader();   

  5.                 reader.readAsDataURL(this.files[i]);   

  6.                 fd.append(i,this.files[i]);<br>          }   

  7.                 $.ajax({   

  8.                     url : '',   

  9.                     type : 'post',   

  10.                     data : fd,   

  11.                     success : function(data){   

  12.                         console.log(data)   

  13.                    }    

  14.                 })   

  15. }      

關于HTML5中怎么實現多圖上傳功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德阳市| 广南县| 滦平县| 南投市| 烟台市| 垦利县| 辽阳市| 伊川县| 白城市| 兴山县| 茌平县| 巴彦淖尔市| 临朐县| 灵川县| 广丰县| 斗六市| 广昌县| 青龙| 平塘县| 兰溪市| 郓城县| 沈阳市| 北京市| 永川市| 合水县| 普定县| 平利县| 茂名市| 利川市| 清河县| 建德市| 公安县| 衡东县| 宁陵县| 长泰县| 兴宁市| 江源县| 兴业县| 昌江| 房山区| 米林县|