真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用vue實現(xiàn)axios圖片上傳功能的示例-創(chuàng)新互聯(lián)

小編給大家分享一下使用vue實現(xiàn)axios圖片上傳功能的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù)團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標準與要求,同時竭誠為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)公司把每個網(wǎng)站當做一個產(chǎn)品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!

vue中實現(xiàn)圖片上傳,我這里使用的是FormData通過axios向后臺發(fā)送請求,從而實現(xiàn)圖片的上傳。

在發(fā)起請求的axios中一般用qs進行序列化,但是序列化之后,F(xiàn)ormData就傳送失敗,所以要區(qū)別傳送的數(shù)據(jù)類型。

經(jīng)過多次摸索總結(jié)了以下經(jīng)驗,以供參考。

首先創(chuàng)建一個文件夾services ,里面有兩個文件 index.js 和 api.js。

我們的qs序列化和數(shù)據(jù)攔截寫在index.js中

import axios from "axios";
import config from "@/config";
import router from "@/router";
import validate from "@/util/validate";
import Qs from "qs";
const request = axios.create({
 baseURL: config.hostUrl,
 timeout: 52000,
 transformRequest: [
  (data) => {
   return data instanceof FormData ? data : Qs.stringify({ //此處的data類型判斷為重要點,
    ...data
   });
  }
 ]
});
request.interceptors.request.use( //請求攔截
 config => {
  return config;
 },
 error => Promise.error(error)
);

request.interceptors.response.use(// 響應(yīng)攔截器
 async function (res) {
   if (res.status === 200) {
    return Promise.resolve(res.data);
   } else {    
    return Promise.reject(res.data);
   }
  },
  async function (error) {
   const {
    response
   } = error;
   if (response) {   
    return Promise.reject(response);
   } else {    
   }
  }
);
export default request;

寫好上面的代碼在api.js 請求接口就無須做任何操作了,下面示例:

async upImgs(files) { // 我的相冊圖片上傳    
    return (await request.post('/basis/uploadFile', files)).response
     },

頁面調(diào)用接口

async file_up(event) {
   //圖片預(yù)覽
   try {
    let res = null;
    this.file = [...event.target.files];
    for (let i = 0, f; (f = this.file[i]); i++) {
     if (i >= 8 || this.imgs.length >= 8) {
      return;
     }
     let fileImg = new FormData();
     fileImg.append("file", f);
     res = await this.$api.upImgs(fileImg); //這里是調(diào)用api處, 此處為多圖上傳,供參考
     if (res.result) {
      this.imgs.push(res.result.absoluteFilePath);
     }
    }
   } catch (err) {
    this.$toast({
     message: err.message,
     duration: 1200
    });
   }
  }

以上是“使用vue實現(xiàn)axios圖片上傳功能的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


標題名稱:使用vue實現(xiàn)axios圖片上傳功能的示例-創(chuàng)新互聯(lián)
標題路徑:http://weahome.cn/article/djcieg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部