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 相关文章推荐
基于dom编程中 动态创建与删除元素的使用
Apr 17 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
Jan 30 Javascript
js全选按钮的实现方法
Nov 17 Javascript
编写高质量JavaScript代码的基本要点
Mar 02 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
全面总结Javascript对数组对象的各种操作
Jan 22 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
对angularJs中$sce服务安全显示html文本的实例
Sep 30 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 Javascript
vue路由跳转传参数的方法
May 06 Javascript
express中static中间件的具体使用方法
Oct 17 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
php若干单维数组遍历方法的比较
2011/09/20 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
JS继承 笔记
2011/07/13 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
Django实现跨域的2种方法
2019/07/31 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
门卫岗位安全职责
2013/12/13 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2014年团队工作总结
2014/11/24 职场文书
母亲节感言
2015/08/03 职场文书
学风建设主题班会
2015/08/17 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
用php如何解决大文件分片上传问题
2021/07/07 PHP
Linux中各个目录的作用与内容
2022/06/28 Servers