您好,登錄后才能下訂單哦!
使用axios怎么封裝一個上傳文件請求?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
axios 和 ajax 都支持異步請求,兩者使用方法大同小異,在此使用 axios 上傳文件的請求。使用的時候只需要在響應的 vue 組件中引入就可以。
import Vue from 'vue'; import VueCookie from 'vue-cookie'; import axios from 'axios'; // import toastr from '../assets/toastr.min'; // Vue.use(axios) let http = {}; // let _baseURL = '/vpaas' let _baseURL = 'http://localhost:8080/vpaas' let ContentType = "application/json"; let uploadFileType = "multipart/form-data"; http.baseURL = _baseURL; /** * 上傳文件的請求 * @param url * @returns {AxiosPromise} */ http.uploadFile = function (url, data) { let config = { //請求的接口,在請求的時候,如axios.get(url,config);這里的url會覆蓋掉config中的url url: url, //基礎url前綴 baseURL: _baseURL, transformResponse: [function (data1) { var data = data1; if (typeof data1 == "string") { data = JSON.parse(data1); } //這里提前處理返回的數據; if (data.message && (data.data === 'login.invalid.token')) { window.localStorage.removeItem("access-user"); alert("超時請重新登陸"); window.location.href = '/'; } return data; }], //請求頭信息 headers: {'access-user': window.localStorage.getItem('access-user'), 'Content-Type': uploadFileType}, //跨域請求時是否需要使用憑證 withCredentials: true, // 返回數據類型 responseType: 'json', //default }; return axios.post(url, data, config); };
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。