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自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
Vue.js常用指令之循环使用v-for指令教程
Jun 27 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 Javascript
微信小程序国际化探索实现(附源码地址)
May 20 Javascript
部署vue+Springboot前后端分离项目的步骤实现
May 31 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
AJAX检测用户名是否存在的方法
Mar 24 Javascript
JavaScript数组 几个常用方法总结
Nov 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
收音机的保养
2021/03/01 无线电
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
javascript Keycode对照表
2009/10/24 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
vue页面离开后执行函数的实例
2018/03/13 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
详解Python 解压缩文件
2019/04/09 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
python ETL工具 pyetl
2020/06/07 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
优秀管理者事迹材料
2014/05/22 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
司考复习计划
2015/01/19 职场文书
义诊活动总结
2015/02/04 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
linux下安装redis图文详细步骤
2021/12/04 Redis