axios 封装上传文件的请求方法
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 封装上传文件的请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
vue 2.x 中axios 封装的get 和post方法
vue 2.x axios 封装的get 和post方法 import axios from 'axios' import qs from 'qs' export class HttpService { Get(url, data) { return new Promise((resolve, reject) => { axios.get(url, { params: data }).then((res) => { if (res) { //成功回调 resolve(res); } }).ca
-
vue中Axios的封装与API接口的管理详解
如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题,我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护. 一.axios的封装 在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中.他有很多优秀的特性,例如拦截请求和响应.取消请求.转换json.客户端防御XSRF等.所以我们的尤大大也是果断放弃了对其官方库vue-reso
-
vue中axios处理http发送请求的示例(Post和get)
本文介绍了vue中axios处理http发送请求的示例(Post和get),分享给大家,具体如下: axios中文文档 https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format axios文档 在处理http请求方面,已经不推荐使用vue-resource了,而是使用最新的axios,下面做一个简单的介绍. 安装 使用node npm install axios 使用cdn <scrip
-
Vue2 配置 Axios api 接口调用文件的方法
前情回顾 在上一篇中,我们通过配置基本的信息,已经让我们的项目能够正常的跑起来了.但是,这里还没有涉及到 AJAX 请求接口的内容. vue 本身是不支持 ajax 接口请求的,所以我们需要安装一个接口请求的 npm 包,来使我们的项目拥有这个功能. 这其实是一个重要的 unix 思想,就是一个工具只做好一件事情,你需要额外的功能的时候,则需要安装对应的软件来执行.如果你以前是一个 jquery 重度用户,那么可能理解这个思想一定要深入的理解. 支持 ajax 的工具有很多.一开始,我使用的是
-
Vue Promise的axios请求封装详解
现在应该大部分公司都是前后端分离了.so,数据请求的封装还是必须的. 为了实现向ios中block封装请求的异步的效果,我采用JavaScript中promise这个对象. var p1 = New promise((resolve,reject)=>{ var timeOut = Math.random() * 2; log('set timeout to: ' + timeOut + ' seconds.'); setTimeout(function () { if (timeOut <
-
浅谈在Vue-cli里基于axios封装复用请求
本文介绍了浅谈在Vue-cli里基于axios封装复用请求,分享给大家,具体如下: 安装 只用安装一个axios就可以了. npm install axios --save 接口代理设置 为了请求可以正常发送,我们一般要进行一个接口代理的配置,这样可以避免请求跨域,项目打包之后,后端一般也要搭建一个nginx之类的东西进行转发请求,不然请求会因为跨域问题失败的. //文件位置:config/index.js proxyTable: { '/api': { target: 'http://47.9
-
vue 组件的封装之基于axios的ajax请求方法
如下所示: import Vue from 'vue' let service = { url: 'http://host.xxxxx.com/xxx.php' } service.ajaxReuqest = (url, options, type, fileFlag) => { for (const i in options) { if (!options[i] && options[i] !== 0 && (options[i].length &&
-
axios 封装上传文件的请求方法
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
-
vue使用axios上传文件(FormData)的方法
在此主要介绍 如何使用 formData 对象上传单文件和多文件,FormData 就是 XMLHttpRequest Level 2 新增的一个对象,利用它来提交表单.模拟表单提交,当然最大的优势就是可以上传二进制文件. 过多介绍不说,过多的煽情语句不说,直接来来干活,希望对广大博友有所帮助.也希望各位大神不吝赐教 1.前台上传文件的表单和响应函数 <!--文件上传表单--> <form> <input type="text" value="&
-
JS FormData上传文件的设置方法
使用FormData上传文件时,总是获取不到req.file对象.发现是没有配置对FormData导致. 这里我是在vue中使用axios发送的请求,配置代码如下.重点地方给出注释 <form id="uploadform" method="POST" enctype="multipart/form-data" :action="postImgApi" ref="uploadform"> <
-
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
http协议本身的原始方法不支持multipart/form-data请求,这个请求由原始方法演变而来的. multipart/form-data的基础方法是post,也就是说是由post方法来组合实现的,与post方法的不同之处:请求头,请求体. multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,且其值也必须规定为multipart/form-data,同时还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容自然需要
-
JS简单验证上传文件类型的方法
本文实例讲述了JS简单验证上传文件类型的方法.分享给大家供大家参考,具体如下: function checkType(){ //得到上传文件的值 var fileName=document.getElementById("file_logo").value; //返回String对象中子字符串最后出现的位置. var seat=fileName.lastIndexOf("."); //返回位于String对象中指定位置的子字符串并转换为小写. var extensi
-
Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法.下载文件的通用方法以及删除文件.在ftp服务器上传文件夹.检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,Java FTP主文件代码: package ftpDemo; import java.io.DataOutputStream; import java.io.InputStream; import java.io.OutputStream; import sun.net
-
iOS 断点上传文件的实现方法
项目开发中,有时候我们需要将本地的文件上传到服务器,简单的几张图片还好,但是针对iPhone里面的视频文件进行上传,为了用户体验,我们有必要实现断点上传.其实也不是真的断点,这里我们只是模仿断点机制. 需求 既然需要上传文件,那最好要有一个上传列表界面,方面用户对上传中的文件进行实时管理.这里我简单搭建了一个上传列表界面,如下图: 该界面实现的功能:左滑删除,单击暂停.取消,清空列表.退出该界面可后台上传,暂停再次开始或则app被kill掉依旧支持续传.上传完成.删除正在上传文件.清空上传列表都
-
Vue开发之封装上传文件组件与用法示例
本文实例讲述了Vue开发之封装上传文件组件与用法.分享给大家供大家参考,具体如下: 使用elementui的 el-upload插件实现图片上传组件 每个项目存在一定的特殊性,所以数据的处理会不同 pictureupload.vue: <template> <div class="pictureupload"> <el-upload :action="baseUrl + '/api/public/image'" list-type=&q
-
SpringMVC上传文件FileUpload使用方法详解
本文实例为大家分享了SpringMVC上传文件FileUpload的具体代码,供大家参考,具体内容如下 我是在已经搭建好的springMVC环境下,maven工程中的pom.xml所需要的jar包(其中spring上传文件的两个主要jar:commons-fileupload.jar和commons-io.jar): <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o
-
windows下使用IIS配置的PHP无法上传文件的解决方法
延续<Windows Server 2003中iis配置php>一文 服务器上使用Apache2+PHP正常运行,换成IIS+PHP,先后出现了php.ini的环境变量无法读取,php中验证码无法显示的问题,如今又有人反应无法上传图片的问题. 从IIS替换Apache2的过程仅仅是开启IIS,关闭Apache2,其它的没什么变化,但是却发生了如此多的差异,看样子IIS支持PHP还是有很多要进行修改的. 分析: 根据上面的描述,我怀疑问题出在IIS的权限配置上,IUSR_MACHINE的帐户对u
随机推荐
- 详解Angular.js中$http拦截器的介绍及使用
- VMware Workstation12安装Ubuntu和VMware Tools教程
- spring和quartz整合,并简单调用(实例讲解)
- 详解ASP.NET Core应用中如何记录和查看日志
- KVM虚拟机技术学习总结
- 一种新的javascript对象创建方式Object.create()
- jQuery实现的登录浮动框效果代码
- php页面跳转代码 输入网址跳转到你定义的页面
- PHP自定义函数实现格式化秒的方法
- Linux中用PHP判断程序运行状态的2个方法
- 老生常谈ThinkPHP中的行为扩展和插件(推荐)
- Yii 2中的load()和save()示例详解
- Python内置数据类型详解
- android实现按钮获取焦点延迟加载
- 屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
- jqGrid随窗口大小变化自适应大小的示例代码
- jQuery中size()方法用法实例
- SQL服务器无法启动的解决方法
- 微信小程序动态的显示或隐藏控件的方法(两种方法)
- jQuery统计指定子元素数量的方法