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的函数
Jan 31 Javascript
jquery 3D球状导航的文章分类
Jul 06 Javascript
js父页面与子页面不同时显示的方法
Oct 16 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
谈谈target=_new和_blank的不同之处
Oct 25 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 Javascript
JS函数节流和函数防抖问题分析
Dec 18 Javascript
详解node.js中的npm和webpack配置方法
Jan 21 Javascript
JS中的模糊查询功能
Dec 08 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中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python类继承用法实例分析
2014/10/10 Python
python与php实现分割文件代码
2017/03/06 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
Python post请求实现代码实例
2020/02/28 Python
Python中的Cookie模块如何使用
2020/06/04 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
美国五金商店:Ace Hardware
2018/03/27 全球购物
庆八一活动方案
2014/01/25 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
学生会招新宣传语
2015/07/13 职场文书
关于环保的宣传稿
2015/07/23 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python