vue项目中使用axios上传图片等文件操作


Posted in Javascript onNovember 02, 2017

axios 简介

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

从浏览器中创建 XMLHttpRequest

从 node.js 发出 http 请求

支持 Promise API

拦截请求和响应

转换请求和响应数据

取消请求

自动转换JSON数据

客户端支持防止 CSRF/XSRF

首先安装axios:

1.利用npm安装npm install axios ?save

2.利用bower安装bower install axios ?save

3.直接利用cdn引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

一般情况上传照片有两种方式:

1.本地图片转换成base64,然后通过普通的post请求发送到服务端。

操作简单,适合小图,以及如果想兼容低版本的ie没办法用此方法

2.通过form表单提交。

form表单提交图片会刷新页面,也可以时form绑定到一个隐藏的iframe上,可以实现无刷新提交数据。

这里只讲解一下第二种方式:

html代码:

<input name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

js代码:

import axios from 'axios'
// 添加请求头
update (e) {  // 上传照片
   var self = this
   let file = e.target.files[0]
   /* eslint-disable no-undef */
   let param = new FormData() // 创建form对象
   param.append('file', file, file.name) // 通过append向form对象添加数据
   param.append('chunk', '0') // 添加form表单中其他数据
   console.log(param.get('file')) // FormData私有类对象,访问不到,可以通过get判断值是否传进去
   let config = {
    headers: {'Content-Type': 'multipart/form-data'}
   }
   // 添加请求头
  axios.post('http://172.19.26.60:8081/rest/user/headurl', param, config)
    .then(response => {
     if (response.data.code === 0) {
      self.ImgUrl = response.data.data
     }
     console.log(response.data)
    })
  }

总结

以上所述是小编给大家介绍的vue项目中使用axios上传图片等文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
csdn 论坛技术区平均给分功能
Nov 07 Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 Javascript
使用JavaScript链式编程实现模拟Jquery函数
Dec 21 Javascript
jquery实现用户打分评分特效
May 28 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
jQ处理xml文件和xml字符串的方法(详解)
Nov 22 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
js实现鼠标移动到图片产生遮罩效果
Oct 21 Javascript
angularjs中判断ng-repeat是否迭代完的实例
Sep 12 Javascript
如何自定义微信小程序tabbar上边框的颜色
Jul 09 Javascript
JavaScript登录验证基础教程
Nov 01 #Javascript
vue打包后显示空白正确处理方法
Nov 01 #Javascript
js实现登录与注册界面
Nov 01 #Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 #Javascript
五步轻松实现zTree的使用
Nov 01 #Javascript
BootStrap TreeView使用实例详解
Nov 01 #Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 #Javascript
You might like
PHP4实际应用经验篇(9)
2006/10/09 PHP
Admin generator, filters and I18n
2011/10/06 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python调用webservice接口的实现
2019/07/12 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
大学军训感言
2014/01/10 职场文书
教师专业自荐书范文
2014/02/10 职场文书
《理想》教学反思
2014/02/17 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
教务处干事工作总结
2015/08/14 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Golang 并发编程 SingleFlight模式
2022/04/26 Golang