最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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

針對(duì)這種問(wèn)題,這里我推薦使用圖片轉(zhuǎn)base64格式,再發(fā)給后端,后端只需將轉(zhuǎn)碼結(jié)果存入數(shù)據(jù)庫(kù)即可,前端調(diào)用接口直接獲取到base64數(shù)據(jù)直接寫(xiě)入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字符串即可!

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

相關(guān)文章

  • 詳解如何使用Vuex實(shí)現(xiàn)Vue后臺(tái)管理中的角色鑒權(quán)

    詳解如何使用Vuex實(shí)現(xiàn)Vue后臺(tái)管理中的角色鑒權(quán)

    最近參與了公司一個(gè)新的B端項(xiàng)目的研發(fā),從無(wú)到有搭建項(xiàng)目的過(guò)程中,遇到了關(guān)于項(xiàng)目鑒權(quán)的問(wèn)題,這篇文章主要給大家介紹了關(guān)于如何使用Vuex實(shí)現(xiàn)Vue后臺(tái)管理中的角色鑒權(quán)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Vue+Element ui 根據(jù)后臺(tái)返回?cái)?shù)據(jù)設(shè)置動(dòng)態(tài)表頭操作

    Vue+Element ui 根據(jù)后臺(tái)返回?cái)?shù)據(jù)設(shè)置動(dòng)態(tài)表頭操作

    這篇文章主要介紹了Vue+Element ui 根據(jù)后臺(tái)返回?cái)?shù)據(jù)設(shè)置動(dòng)態(tài)表頭操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vue前端如何實(shí)現(xiàn)與后端進(jìn)行數(shù)據(jù)交互

    Vue前端如何實(shí)現(xiàn)與后端進(jìn)行數(shù)據(jù)交互

    這篇文章主要介紹了Vue前端如何實(shí)現(xiàn)與后端進(jìn)行數(shù)據(jù)交互,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 最新評(píng)論

    惠东县| 合水县| 杨浦区| 宁德市| 报价| 陵水| 上栗县| 西昌市| 新源县| 全州县| 安图县| 山阳县| 金寨县| 紫阳县| 苏州市| 辰溪县| 外汇| 宿松县| 盐源县| 广南县| 灌南县| 襄樊市| 晋宁县| 黄冈市| 阿坝县| 始兴县| 建水县| 天全县| 海淀区| 泗阳县| 宝鸡市| 宝丰县| 泰兴市| 丹巴县| 读书| 旬阳县| 同江市| 嘉黎县| 汾阳市| 美姑县| 唐山市|