axios 封装上传文件的请求方法


Posted in Javascript onSeptember 26, 2018

axios 和 ajax 都支持异步请求,两者使用方法大同小异,在此使用 axios 上传文件的请求。使用的时候只需要在响应的 vue 组件中引入就可以。

import Vue from 'vue';

import VueCookie from 'vue-cookie';
import axios from 'axios';
// import toastr from '../assets/toastr.min';
// Vue.use(axios)


let http = {};
// let _baseURL = '/vpaas'
let _baseURL = 'http://localhost:8080/vpaas'
let ContentType = "application/json";

let uploadFileType = "multipart/form-data";
http.baseURL = _baseURL;


/**
 * 上传文件的请求
 * @param url
 * @returns {AxiosPromise}
 */
http.uploadFile = function (url, data) {
 let config = {
 //请求的接口,在请求的时候,如axios.get(url,config);这里的url会覆盖掉config中的url
 url: url,
 //基础url前缀
 baseURL: _baseURL,
 transformResponse: [function (data1) {
  var data = data1;
  if (typeof data1 == "string") {
  data = JSON.parse(data1);
  }
  //这里提前处理返回的数据;
  if (data.message && (data.data === 'login.invalid.token')) {
  window.localStorage.removeItem("access-user");
  alert("超时请重新登陆");
  window.location.href = '/';
  }
  return data;
 }],
 //请求头信息
 headers: {'access-user': window.localStorage.getItem('access-user'), 'Content-Type': uploadFileType},

 //跨域请求时是否需要使用凭证
 withCredentials: true,
 // 返回数据类型
 responseType: 'json', //default
 };
 return axios.post(url, data, config);
};

以上这篇axios 封装上传文件的请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中关于String对象的replace使用详解
May 24 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 Javascript
基于jQuery实现左右图片轮播(原理通用)
Dec 24 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
微信小程序实现省市区三级地址选择
Jun 21 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
Mar 28 Javascript
个人小程序接入支付解决方案
May 23 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
JS控制只能输入数字并且最多允许小数点两位
Nov 24 Javascript
axios取消请求的实践记录分享
Sep 26 #Javascript
Node.js模拟发起http请求从异步转同步的5种用法
Sep 26 #Javascript
在vue中获取token,并将token写进header的方法
Sep 26 #Javascript
基于axios 解决跨域cookie丢失的问题
Sep 26 #Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
Sep 26 #Javascript
基于JavaScript实现一个简单的Vue
Sep 26 #Javascript
微信小程序授权登录及解密unionId出错的方法
Sep 26 #Javascript
You might like
php获取系统变量方法小结
2015/05/29 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
javascript写的日历类(基于pj)
2010/12/28 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
股东合作协议书
2014/04/14 职场文书
团日活动总结范文
2014/04/25 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers