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 相关文章推荐
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
Sep 25 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
详解webpack和webpack-simple中如何引入css文件
Jun 28 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 Javascript
原生js生成图片验证码
Oct 11 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP 缓存实现代码及详细注释
2010/05/16 PHP
php木马webshell扫描器代码
2012/01/25 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHP分享图片的生成方法
2018/04/25 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
node.js基础知识汇总
2020/08/25 Javascript
Python代码调试的几种方法总结
2015/04/15 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python 整数越界问题详解
2019/06/27 Python
Python中拆分字符串的操作方法
2019/07/23 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
同学会主持词
2014/03/18 职场文书
文明班集体申报材料
2014/05/23 职场文书
煤矿安全协议书
2014/08/20 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS