亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue.js圖片轉(zhuǎn)Base64上傳圖片并預(yù)覽的實(shí)現(xiàn)方法

 更新時(shí)間:2018年08月02日 10:35:41   作者:黎明破曉的街道  
這篇文章主要介紹了vue.js圖片轉(zhuǎn)Base64上傳圖片并預(yù)覽的實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

對于前端人員來說,圖片處理是一個(gè)很常見的需求,由于圖片稍微特殊,現(xiàn)在多數(shù)做法都是使用調(diào)用ajax接口通過http方法來提交,例如post方法提交,后臺處理后返回一個(gè)圖片路徑給前端,前端根據(jù)這個(gè)路徑寫入img標(biāo)簽,但是基于當(dāng)前的前后端分離的開發(fā)模式下,前后端代碼往往不在同一個(gè)系統(tǒng)目錄下,而且部署時(shí)可能liunx路徑與windows路徑不一樣,這樣后期路徑更改可能會導(dǎo)致維護(hù)困難問題出現(xiàn)。

針對這種問題,這里我推薦使用圖片轉(zhuǎn)base64格式,再發(fā)給后端,后端只需將轉(zhuǎn)碼結(jié)果存入數(shù)據(jù)庫即可,前端調(diào)用接口直接獲取到base64數(shù)據(jù)直接寫入img src 標(biāo)簽即可

下面使用element ui upload組件實(shí)現(xiàn)思路

代碼如下:

 <el-upload
   ref='upload'
   :auto-upload='false' 
   :file-list="fileList" 
   :multiple='false'
   :limit="1"
   :on-exceed="handleExceed"
   :http-request="uploadFiles" 
   accept="image/jpeg,image/gif,image/png"
   action=''
   :on-change='changeUpload'      
   >
  <el-button slot="trigger" size="mini" type="primary">選取圖片</el-button>
  <span>&nbsp;</span>
  <el-button @click='uploadFiles' size="mini" type="primary">點(diǎn)擊上傳</el-button>
 </el-upload>  

js部分

  //點(diǎn)擊上傳圖片,上傳成功返回圖片路徑 
  uploadFiles(){
    var That=this;
   let file=this.$refs.upload.$refs['upload-inner'].$refs.input; //獲取文件數(shù)據(jù)
   let fileList=file.files;   
   var imgFile;
   let reader = new FileReader();   //html5讀文件
   reader.readAsDataURL(fileList[0]); //轉(zhuǎn)BASE64    
   reader.onload=function(e) {    //讀取完畢后調(diào)用接口
    imgFile = e.target.result;
    let obj={
      id: "loginLogo",
      configGroup: "logo",
      configItem : "loginLogo",
     itemValue : imgFile  
    }
    return BaseApi.uploadFiles(obj).then((res)=>{
      if(res.status=='SUCCESS'){
        AlertBox('圖片上傳成功!','success',true).then(()=>{
          return That.getSysLogo(); //調(diào)用獲取base64數(shù)據(jù)接口
        });
      }else{
        Alert('圖片上傳失敗',res);
        return ''
      }
    })

   };     
  },

最后在界面img src標(biāo)簽中綁定That.getSysLogo()接口返回的base64字符串即可!

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

相關(guān)文章

最新評論