jquery實(shí)現(xiàn)圖片上傳前本地預(yù)覽功能

字號(hào):


    這篇文章主要為大家詳細(xì)介紹了基于jquery實(shí)現(xiàn)圖片上傳前本地預(yù)覽功能,感興趣的小伙伴們可以參考一下
    本文實(shí)例為大家分享了jquery實(shí)現(xiàn)圖片上傳前預(yù)覽的具體代碼,供大家參考,具體內(nèi)容如下
    介紹之前有一個(gè)小問題,一直找不到圖片預(yù)覽時(shí),圖片不出來的原因,原來在于圖片的路徑?。?!一直寫的是圖片的本地路徑,沒有什么用。直接上代碼。
    html部分:
    代碼如下:
    <img id="pic" src="" >
    <input id="upload" name="file" accept="image/*" type="file"/>
    input:file事件是上傳類型 
    較常用的屬性值如下: 
    accept:表示可以選擇的文件MIME類型,多個(gè)MIME類型用英文逗號(hào)分開,常用的MIME類型見下表。 
    若要支持所有圖片格式,則寫 * 即可。 
    multiple:是否可以選擇多個(gè)文件,多個(gè)文件時(shí)其value值為第一個(gè)文件的虛擬路徑
    input:file的樣式是不變的,所以若要改變它的樣式,首先將它隱藏。display:none;
    CSS部分: 
    因?yàn)樽龅氖且粋€(gè)圓形的頭像,所以對(duì)圖片樣式先進(jìn)行定義。
    #pic{
         width:100px;
         height:100px;
         border-radius:50% ;
         margin:20px auto;
         cursor: pointer;
       }
    jQuery部分:
    $(function() {
      $("#pic").click(function () {
        $("#upload").click();               //隱藏了input:file樣式后,點(diǎn)擊頭像就可以本地上傳
         $("#upload").on("change",function(){
           var objUrl = getObjectURL(this.files[0]) ;  //獲取圖片的路徑,該路徑不是圖片在本地的路徑
           if (objUrl) {
             $("#pic").attr("src", objUrl) ;      //將圖片路徑存入src中,顯示出圖片
           }
        });
      });
    });
    //建立一個(gè)可存取到該file的url
    function getObjectURL(file) {
      var url = null ;
      if (window.createObjectURL!=undefined) { // basic
        url = window.createObjectURL(file) ;
      } else if (window.URL!=undefined) { // mozilla(firefox)
        url = window.URL.createObjectURL(file) ;
      } else if (window.webkitURL!=undefined) { // webkit or chrome
        url = window.webkitURL.createObjectURL(file) ;
      }
      return url ;
    }
    運(yùn)行結(jié)果如下:
    名單
    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)jquery程序有所幫助。