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 相关文章推荐
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
jtable列中自定义button示例代码
Nov 21 Javascript
java、javascript实现附件下载示例
Aug 14 Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 Javascript
JavaScript实现格式化字符串函数String.format
Dec 16 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
vue配置font-awesome5的方法步骤
Jan 27 Javascript
微信小程序如何获取群聊的openGid以及名称详解
Jul 17 Javascript
原生js实现商品筛选功能
Oct 28 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 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与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
python文件和目录操作函数小结
2014/07/11 Python
python中去空格函数的用法
2014/08/21 Python
python开发之for循环操作实例详解
2015/11/12 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
审计主管岗位职责
2014/01/31 职场文书
自荐信的基本格式
2014/02/22 职场文书
安全生产月演讲稿
2014/05/09 职场文书
医学检验专业自荐信
2014/09/18 职场文书
公司安全管理制度范本
2015/08/05 职场文书
图书借阅制度范本
2015/08/06 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
创业计划书之家教托管
2019/09/25 职场文书