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 相关文章推荐
js模拟弹出效果代码修正版
Aug 07 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
javascript作用域和闭包使用详解
Apr 25 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
利用Angular.js编写公共提示模块的方法教程
May 28 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
vue引入jq插件的实例讲解
Sep 12 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
vue-video-player 断点续播的实现
Feb 01 Vue.js
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
Terran建筑一览
2020/03/14 星际争霸
php页面消耗内存过大的处理办法
2013/03/18 PHP
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python绘制圆柱体的方法
2018/07/02 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
高一生物教学反思
2014/01/17 职场文书
保护母亲河倡议书
2014/04/14 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
爱心募捐感谢信
2015/01/22 职场文书
公司经营目标责任书
2015/01/29 职场文书
会议通知
2015/04/15 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
Python time库的时间时钟处理
2021/05/02 Python
浅谈克隆 JavaScript
2021/11/02 Javascript
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers