时间:2021-05-26
本文实例为大家分享了Vue formData实现图片上传的具体代码,供大家参考,具体内容如下
import Vue from 'vue' /** * 图片上传 * 已注入所有Vue实例, * template模板里调用 $uploadFile(id) * 组件方法里调用 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') // 数据请求 Vue.axiosfrom(Vue.api.upload, formData).then(res => { // 返回图片url resolve(res) }).catch(err => { reject(err) }) } }) }) return promise} Vue.prototype.$uploadFile = uploadFileaxios请求头设置
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'}) => { // 带请求进度条成功方法 const sucFunX = res => { return res.data } // 成功执行方法 const sucFunC = res => { return res.data } // 带请求进度条失败方法 const errFunX = err => { console.log(err, NProgress.done()) } // 失败执行访求 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 = axiosfromVue.axiosfrom = axiosfrom以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
无刷新上传功能如何实现?手写无刷新上传要用到两个东西,FormData和FileReader。FileReader用于图片浏览。FormData用于ajax请求
本文实例讲述了JS+php后台实现文件上传功能。分享给大家供大家参考,具体如下:一、利用FormData对象形式上传FormData是XMLHttpReques
使用FormData上传文件时,总是获取不到req.file对象。发现是没有配置对FormData导致。这里我是在vue中使用axios发送的请求,配置代码如下
移动端图片压缩上传功能如何实现?做移动端开发的时候,form里面的file后台经常获取不到,用foemdata也拿不到找到了一个formdata的脚本移动端图片
Vue+Element-UI上传图片并压缩,供大家参考,具体内容如下1.版本Vue:2.5.2Element-UI:2.12.0可实现图片上传前,自动压缩。El