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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
IE浏览器PNG图片透明效果代码
Sep 02 Javascript
jQuery学习笔记之jQuery选择器的使用
Dec 22 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
Dec 28 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
Vue 父子组件的数据传递、修改和更新方法
Mar 01 Javascript
js中document.write和document.writeln的区别
Mar 11 Javascript
AngularJS中的作用域实例分析
May 16 Javascript
微信小程序之批量上传并压缩图片的实例代码
Jul 05 Javascript
详解微信小程序中var、let、const用法与区别
Jan 11 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与MySQL开发的8个技巧小结
2010/12/17 PHP
浅析php工厂模式
2014/11/25 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
PyTorch中的C++扩展实现
2020/04/02 Python
python语言是免费还是收费的?
2020/06/15 Python
Python如何合并多个字典或映射
2020/07/24 Python
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
新郎婚礼致辞
2015/07/27 职场文书
董事长年会致辞
2015/07/29 职场文书
高一军训感想
2015/08/07 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js