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

VUE axios上傳圖片到七牛的實例代碼

 更新時間:2017年07月28日 15:40:36   作者:無敵小坑筆  
本篇文章主要介紹了VUE axios上傳圖片到七牛的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

瀏覽器上傳圖片到服務端,我用過兩種方法:

1.本地圖片轉換成base64,然后通過普通的post請求發(fā)送到服務端。

操作簡單,適合小圖,以及如果想兼容低版本的ie沒辦法用此方法

2.通過form表單提交。

form表單提交圖片會刷新頁面,也可以時form綁定到一個隱藏的iframe上,可以實現(xiàn)無刷新提交數(shù)據(jù)。但是如果想傳輸多條form表單數(shù)據(jù),需要寫很多dom,同時還要寫iframe,太麻煩。

目前感覺比較干凈的辦法就是通過axios的post請求,發(fā)送form數(shù)據(jù)到后臺。

html部分,至于界面優(yōu)化,可以把input file的opacity設置為0,點擊其父容器,即觸發(fā)file

復制代碼 代碼如下:

<input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

axios的post請求,發(fā)送form數(shù)據(jù)部分,這樣就可以無刷新的提交form數(shù)據(jù)到后臺

update(e){
     let file = e.target.files[0];      
     let param = new FormData(); //創(chuàng)建form對象
     param.append('file',file,file.name);//通過append向form對象添加數(shù)據(jù)
     param.append('chunk','0');//添加form表單中其他數(shù)據(jù)
     console.log(param.get('file')); //FormData私有類對象,訪問不到,可以通過get判斷值是否傳進去
     let config = {
      headers:{'Content-Type':'multipart/form-data'}
     }; //添加請求頭
     this.axios.post('http://upload.qiniu.com/',param,config)
     .then(response=>{
      console.log(response.data);
     })    
}

以下部分是擴展

vue開發(fā)環(huán)境下,上傳圖片到七牛

最近著手的約能人項目,需要上傳圖片到七牛,但是感覺只是簡單的上傳圖片還需要引七牛的js,太麻煩了,就自己一切從簡。實現(xiàn)邏輯:獲取后臺返回的七牛token,然后axios的post請求,發(fā)送form數(shù)據(jù)到七牛。

 七牛的token是其平臺封裝好的,直接在自己服務器配置就能獲取到 在其官網(wǎng)上可以找到直接能用的代碼  ,在七牛平臺獲取到后,返回給前臺直接拿就好了

以下是直接上傳圖片到七牛,不需要安裝七牛亂七八糟的js,只需要通過七牛的form表單上傳就行了。

 update(e){
     let file = e.target.files[0];
     let d = new Date();
     let type = file.name.split('.');
     let tokenParem = {
       'putPolicy':'{\"name\":\"$(fname)\",\"size\":\"$(fsize)\",\"w\":\"$(imageInfo.width)\",\"h\":\"$(imageInfo.height)\",\"hash\":\"$(etag)\"}',
       'key':'orderReview/'+d.getFullYear()+'/'+(d.getMonth()+1)+'/'+d.getDate()+'/'+d.valueOf()+'.'+type[type.length-1],
       'bucket':this.domain,//七牛的地址,這個是你自己配置的(變量)
     };
     let param = new FormData(); //創(chuàng)建form對象
     param.append('chunk','0');//斷點傳輸
     param.append('chunks','1');
     param.append('file',file,file.name)
     console.log(param.get('file')); //FormData私有類對象,訪問不到,可以通過get判斷值是否傳進去
     let config = {
      headers:{'Content-Type':'multipart/form-data'}
     };
    //先從自己的服務端拿到token
     this.axios.post(api.uploadToken,qs.stringify(tokenParem))
      .then(response=>{
        this.token = response.data.uploadToken;
        param.append('token',this.token);
        if(this.images.length>8){
          alert('不能超過9張');
          return;
        }
        this.uploading(param,config,file.name);//然后將參數(shù)上傳七牛
        return;
      })
   },
   uploading(param,config,pathName){
    this.axios.post('http://upload.qiniu.com/',param,config)
     .then(response=>{
      console.log(response.data);
      let localArr = this.images.map((val,index,arr)=>{
       return arr[index].localSrc;
      })
      if(!~localArr.indexOf(pathName)){
       this.images.push({'src':this.showUrl+response.data.key,'localSrc':pathName});
      }else{
        alert('已上傳該圖片');
      }
     })
   },    

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

相關文章

  • vue使用js-file-download插件下載文件亂碼的解決

    vue使用js-file-download插件下載文件亂碼的解決

    這篇文章主要介紹了vue使用js-file-download插件下載文件亂碼的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue學習筆記之slot插槽用法實例分析

    vue學習筆記之slot插槽用法實例分析

    這篇文章主要介紹了vue學習筆記之slot插槽用法,結合實例形式對比分析了vue使用slot插槽的相關操作技巧與注意事項,需要的朋友可以參考下
    2020-02-02
  • Vue配置代理(devServer)解決跨域問題

    Vue配置代理(devServer)解決跨域問題

    這篇文章主要介紹了Vue配置代理(devServer)解決跨域問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-08-08
  • 詳解vue使用Echarts畫柱狀圖

    詳解vue使用Echarts畫柱狀圖

    這篇文章主要為大家介紹了vue使用Echarts畫柱狀圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 淺析在Vue中watch使用的必要性及其優(yōu)化

    淺析在Vue中watch使用的必要性及其優(yōu)化

    這篇文章主要來和大家深入討論一下在Vue開發(fā)中是否有必要一定用watch,如果換成watcheffect會如何,文中的示例代碼講解詳細,需要的可以參考下
    2023-12-12
  • 深入理解Vue的過度與動畫

    深入理解Vue的過度與動畫

    這篇文章主要為大家介紹了Vue的過度與動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue+Element-ui實現(xiàn)登錄注冊表單

    vue+Element-ui實現(xiàn)登錄注冊表單

    這篇文章主要為大家詳細介紹了vue+Element-ui實現(xiàn)登錄注冊表單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • VUE前端導出文件之file-saver插件安裝使用教程

    VUE前端導出文件之file-saver插件安裝使用教程

    這篇文章主要給大家介紹了關于VUE前端導出文件之file-saver插件安裝使用的相關資料,file-saver是一個用于保存文件的JavaScript庫,它提供了一種簡單的方式來生成和保存文件,支持各種文件類型,例如文本文件、圖片、PDF等,需要的朋友可以參考下
    2024-05-05
  • Vue使用Element-UI生成并展示表頭序號的方法

    Vue使用Element-UI生成并展示表頭序號的方法

    序號算是在展示數(shù)據(jù)的時候,一種很普遍的屬性了,我們可以自己寫生成序號的規(guī)則,也可以借助第三方,這篇文章主要介紹了Vue使用Element-UI生成并展示表頭序號的方法,需要的朋友可以參考下
    2023-01-01
  • 使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系

    使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系

    這篇文章主要介紹了使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論

韩城市| 乌审旗| 黔江区| 大港区| 兴业县| 哈巴河县| 福建省| 章丘市| 应城市| 宁强县| 泉州市| 抚宁县| 民丰县| 叙永县| 闽清县| 苗栗市| 甘孜县| 尚志市| 湖口县| 西峡县| 邵武市| 民丰县| 合肥市| 华亭县| 盱眙县| 榆树市| 铜梁县| 伽师县| 澄江县| 汝阳县| 临泽县| 家居| 浦北县| 临沂市| 新巴尔虎左旗| 南木林县| 卢氏县| 云龙县| 定结县| 中西区| 青冈县|