Vue formData實(shí)現(xiàn)圖片上傳
本文實(shí)例為大家分享了Vue formData實(shí)現(xiàn)圖片上傳的具體代碼,供大家參考,具體內(nèi)容如下
import Vue from 'vue' /** * 圖片上傳 * 已注入所有Vue實(shí)例, * template模板里調(diào)用 $uploadFile(id) * 組件方法里調(diào)用 this.$uploadFile(id) */ const uploadFile = (id) => { let promise = new Promise((resolve, reject) => { let file = null let el = null let i = 0 let formData = new FormData() document.getElementById(id).click() el = document.getElementById(id) el.addEventListener('change', function (e) { i++ if (i !== 1) { return false } else { file = this.files[0] formData.append('file', file) formData.append('fileType', 'IMAGE') // 數(shù)據(jù)請求 Vue.axiosfrom(Vue.api.upload, formData).then(res => { // 返回圖片url resolve(res) }).catch(err => { reject(err) }) } }) }) return promise } Vue.prototype.$uploadFile = uploadFile
axios請求頭設(shè)置
import Vue from 'vue' import { baseURL } from '@/config/env' import axios from 'axios' // formdata 請求 const axiosT = axios.create({ baseURL: baseURL, headers: { 'Content-Type': 'multipart/form-data' } }) const XHR = ({method = 'post', qs = true, loading = false, loginRequire = true, reqComplex = false, reqContentType = 'urlencoded'}) => { // 帶請求進(jìn)度條成功方法 const sucFunX = res => { return res.data } // 成功執(zhí)行方法 const sucFunC = res => { return res.data } // 帶請求進(jìn)度條失敗方法 const errFunX = err => { console.log(err, NProgress.done()) } // 失敗執(zhí)行訪求 const errFunC = err => { console.log(err) } // 判斷是否需要Longing const sucFun = loading ? sucFunX : sucFunC // 判斷是否需要Longing const errFun = loading ? errFunX : errFunC return {user, sucFun, errFun} } // 表單請求 圖片上傳 const axiosfrom = function (url = '', data = {}) { let {sucFun, errFun} = XHR({loading: false}) return axiosT.post(url, data).then(sucFun).catch(errFun) } // 表單請求 Vue.prototype.$axiosfrom = axiosfrom Vue.axiosfrom = axiosfrom
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
理清apply(),call()的區(qū)別和關(guān)系
如果沒接觸過動態(tài)語言,以編譯型語言的思維方式去理解javaScript將會有種神奇而怪異的感覺,因?yàn)橐庾R上往往不可能的事偏偏就發(fā)生了,甚至覺得不可理喻.2011-08-08Postman如何實(shí)現(xiàn)參數(shù)化執(zhí)行及斷言處理
這篇文章主要介紹了Postman如何實(shí)現(xiàn)參數(shù)化執(zhí)行及斷言處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07屏蔽鼠標(biāo)右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵 的javascript代碼
屏蔽鼠標(biāo)右鍵、Ctrl+n、shift+F10、F5刷新、退格鍵 的javascript代碼...2007-04-04淺談Javascript實(shí)現(xiàn)繼承的方法
本文給大家簡單介紹了下如何在javascript中實(shí)現(xiàn)繼承的幾種方法,十分的實(shí)用,有需要的小伙伴可以參考下。2015-07-07微信小程序出現(xiàn)wx.getLocation再次授權(quán)問題的解決方法分析
這篇文章主要介紹了微信小程序出現(xiàn)wx.getLocation再次授權(quán)問題的解決方法,結(jié)合實(shí)例形式分析了解決wx.getLocation再次授權(quán)問題的相關(guān)操作步驟,需要的朋友可以參考下2019-01-01JS實(shí)現(xiàn)仿QQ面板的手風(fēng)琴效果折疊菜單代碼
這篇文章主要介紹了JS實(shí)現(xiàn)仿QQ面板的手風(fēng)琴效果折疊菜單代碼,涉及JavaScript基于鼠標(biāo)事件動態(tài)操作頁面元素樣式的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09JS實(shí)現(xiàn)鼠標(biāo)滑過折疊與展開菜單效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)滑過折疊與展開菜單效果代碼,涉及JavaScript基于鼠標(biāo)事件動態(tài)改變頁面元素樣式的相關(guān)實(shí)現(xiàn)技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-09-09