91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用vue實現axios圖片上傳功能的示例

發布時間:2021-04-02 10:54:01 來源:億速云 閱讀:281 作者:小新 欄目:web開發

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

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

在發起請求的axios中一般用qs進行序列化,但是序列化之后,FormData就傳送失敗,所以要區別傳送的數據類型。

經過多次摸索總結了以下經驗,以供參考。

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

我們的qs序列化和數據攔截寫在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(// 響應攔截器
 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
     },

頁面調用接口

async file_up(event) {
   //圖片預覽
   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); //這里是調用api處, 此處為多圖上傳,供參考
     if (res.result) {
      this.imgs.push(res.result.absoluteFilePath);
     }
    }
   } catch (err) {
    this.$toast({
     message: err.message,
     duration: 1200
    });
   }
  }

以上是“使用vue實現axios圖片上傳功能的示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

含山县| 汉川市| 修武县| 神农架林区| 晋宁县| 城市| 邮箱| 肃南| 高尔夫| 通州区| 贡觉县| 湘潭县| 淮阳县| 赣榆县| 九台市| 都兰县| 瓮安县| 永修县| 巴马| 秭归县| 酉阳| 阜阳市| 金塔县| 务川| 玉环县| 沅陵县| 贡嘎县| 墨江| 广平县| 延边| 柯坪县| 陇南市| 县级市| 水城县| 来宾市| 安溪县| 杭锦后旗| 腾冲县| 樟树市| 定边县| 万山特区|