国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

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

2019-11-19 11:00:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

vue中實(shí)現(xiàn)圖片上傳,我這里使用的是FormData通過(guò)axios向后臺(tái)發(fā)送請(qǐng)求,從而實(shí)現(xiàn)圖片的上傳。

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

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

首先創(chuàng)建一個(gè)文件夾services ,里面有兩個(gè)文件 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類型判斷為重要點(diǎn),    ...data   });  } ]});request.interceptors.request.use( //請(qǐng)求攔截 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 請(qǐng)求接口就無(wú)須做任何操作了,下面示例:

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

頁(yè)面調(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    });   }  }

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特右旗| 方正县| 兴化市| 维西| 福海县| 长顺县| 大埔县| 天台县| 玛多县| 玉田县| 塔城市| 九龙坡区| 仙游县| 梨树县| 文安县| 和龙市| 军事| 开鲁县| 桑日县| 尤溪县| 建昌县| 济源市| 突泉县| 苗栗市| 黎城县| 昭苏县| 台北县| 中牟县| 宁国市| 湘乡市| 凌源市| 漯河市| 甘孜| 镇安县| 昌邑市| 永昌县| 兴山县| 靖安县| 溧阳市| 漾濞| 巫溪县|