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 window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
JavaScript动态插入script的基本思路及实现函数
Nov 11 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
使用变量动态设置js的属性名
Oct 19 Javascript
javascript数组输出的两种方式
Jan 13 Javascript
学习JavaScript设计模式(接口)
Nov 26 Javascript
javascript html5实现表单验证
Mar 01 Javascript
改变checkbox默认选中状态及取值的实现代码
May 26 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
vue动态设置路由权限的主要思路
Jan 13 Vue.js
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
yii实现创建验证码实例解析
2014/07/31 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
PHP7匿名类用法分析
2016/09/26 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
Pytorch入门之mnist分类实例
2018/04/14 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python列表使用实现名字管理系统
2019/01/30 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
行政总监岗位职责
2013/12/05 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
应聘面试自我评价
2014/01/24 职场文书
《灯光》教学反思
2014/02/08 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
上班离岗检讨书
2014/09/10 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
四年级数学教学反思
2016/02/16 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
React更新渲染原理深入分析
2022/12/24 Javascript