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 相关文章推荐
利用javascript中的call实现继承
Jan 22 Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
详解Vue路由自动注入实践
Apr 17 Javascript
js实现查询商品案例
Jul 22 Javascript
vue中使用腾讯云Im的示例
Oct 23 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 echo 输出字符串函数详解
2010/05/13 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python 输出上个月的月末日期实例
2018/04/11 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Linux上比较文件的命令都有哪些
2012/02/24 面试题
介绍一下Ruby的特点
2013/01/20 面试题
会计专业推荐信
2013/10/29 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
省优秀教师事迹材料
2014/01/30 职场文书
人事专员工作职责
2014/02/22 职场文书
社区护士演讲稿
2014/08/27 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记