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 相关文章推荐
JQuery魔力之$(&quot;tagName&quot;)与selector
Mar 05 Javascript
JS+CSS实现仿新浪微博搜索框的方法
Feb 24 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
JavaScript创建对象的常用方式总结
Aug 10 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
Vue结合路由配置递归实现菜单栏功能
Jun 16 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 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
PHP伪造referer实例代码
2008/09/20 PHP
php获取系统变量方法小结
2015/05/29 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
python概率计算器实例分析
2015/03/25 Python
Python实现选择排序
2017/06/04 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
django云端留言板实例详解
2019/07/22 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
抽象类和接口的区别
2012/09/19 面试题
大专会计自我鉴定
2014/02/06 职场文书
家庭贫困证明
2014/09/23 职场文书
实习工作表现评语
2014/12/31 职场文书
班主任工作总结范文
2015/08/13 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS