欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)axios圖片上傳功能

 更新時間:2019年08月20日 11:51:46   作者:Hello_yihao  
這篇文章主要為大家詳細介紹了vue實現(xiàn)axios圖片上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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
    });
   }
  }

是不是很簡單呀!反正我是實現(xiàn)了,有問題可以討論下哦。

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

相關(guān)文章

  • vue項目接口域名動態(tài)獲取操作

    vue項目接口域名動態(tài)獲取操作

    這篇文章主要介紹了vue項目接口域名動態(tài)獲取操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式

    vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式

    這篇文章主要介紹了vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 淺談vue中文件下載的幾種方式及方法封裝

    淺談vue中文件下載的幾種方式及方法封裝

    本文主要介紹了淺談vue中文件下載的幾種方式及方法封裝,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • vue項目優(yōu)雅實現(xiàn)自動引入組件的方法詳解

    vue項目優(yōu)雅實現(xiàn)自動引入組件的方法詳解

    在我們寫vue項目的時候,都會引入一些組件庫,有時候有可能還不止一個組件庫,那么如何優(yōu)雅的實現(xiàn)自動引入組件呢,下面小編就來和大家詳細講講吧
    2023-09-09
  • Vue中插入HTML代碼的方法

    Vue中插入HTML代碼的方法

    這篇文章主要介紹了Vue中插入HTML代碼的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 從零到一詳聊創(chuàng)建Vue工程及遇到的常見問題

    從零到一詳聊創(chuàng)建Vue工程及遇到的常見問題

    這篇文章主要介紹了從零到一詳聊如何創(chuàng)建Vue工程及遇到的常見問題 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • vue項目中引入noVNC遠程桌面的方法

    vue項目中引入noVNC遠程桌面的方法

    下面小編就為大家分享一篇vue項目中引入noVNC遠程桌面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 基于vue中對鼠標劃過事件的處理方式詳解

    基于vue中對鼠標劃過事件的處理方式詳解

    今天小編就為大家分享一篇基于vue中對鼠標劃過事件的處理方式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue組件中的數(shù)據(jù)傳遞方法

    vue組件中的數(shù)據(jù)傳遞方法

    這篇文章主要介紹了vue組件中的數(shù)據(jù)傳遞方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 初試vue-cli使用HBuilderx打包app的坑

    初試vue-cli使用HBuilderx打包app的坑

    這篇文章主要介紹了初試vue-cli使用HBuilderx打包app的坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論