Vue formData实现图片上传


Posted in Javascript onAugust 20, 2019

本文实例为大家分享了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 = uploadFile

axios请求头设置

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 = axiosfrom
Vue.axiosfrom = axiosfrom

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 Javascript
控制台报错object is not a function的解决方法
Aug 24 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
javascript基本语法
May 31 Javascript
js实现简单数字变动效果
Nov 06 Javascript
基于js中style.width与offsetWidth的区别(详解)
Nov 12 Javascript
Vue中控制v-for循环次数的实现方法
Sep 26 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
微信小程序绘制图片发送朋友圈
Jul 25 Javascript
Vue Router 实现动态路由和常见问题及解决方法
Mar 06 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 #Javascript
vue实现axios图片上传功能
Aug 20 #Javascript
扫微信小程序码实现网站登陆实现解析
Aug 20 #Javascript
vue+element-ui+axios实现图片上传
Aug 20 #Javascript
vue element upload实现图片本地预览
Aug 20 #Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 #Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 #Javascript
You might like
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
php把session写入数据库示例
2014/02/26 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
JS实现json数组排序操作实例分析
2019/10/28 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Python enumerate索引迭代代码解析
2018/01/19 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
Pycharm修改python路径过程图解
2020/05/22 Python
西部世纪面试题
2014/12/05 面试题
个人现实表现材料
2014/02/04 职场文书
公司营业员的自我评价
2014/03/04 职场文书
专业技术职务聘任证明
2015/03/02 职场文书
大学生暑假实习总结
2015/07/13 职场文书
关于远足的感想
2015/08/10 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python