axios 上传文件 封装_使用axios上传文件,如何取消上传

axios 上传文件 封装_使用axios上传文件,如何取消上传按楼上的方法,问题已决定,其实axios已经提供了方法。贴一下我自己的代码吧。//在data里声明一个sourcedata(){return{source:null,//取消上传}//上传文件letthat=this;letcancelToken=that.Axios.CancelToken;//Axios使我修改axios原型链了。that.source=cancelToken….

大家好,又见面了,我是你们的朋友全栈君。

按楼上的方法,问题已决定,其实axios已经提供了方法。

贴一下我自己的代码吧。

//在data里声明一个source

data(){

return{

source:null,//取消上传

}

//上传文件

let that = this;

let cancelToken = that.Axios.CancelToken;//Axios使我修改axios原型链了。

that.source = cancelToken.source();

var fd = new FormData();//声明formData()

fd.append(‘image’, that.$refs.upload.files[0]);

fd.append(‘filename’, that.formData.images);

fd.append(“system_type”, that.formData.systemTypeVal);

fd.append(“name”, that.formData.imagesName);

fd.append(“description”, that.formData.description);

fd.append(“system_vision”, that.formData.systemVersion);

fd.append(“disk_format”, that.formData.format);

that.Axios({//发送axios请求

method: ‘post’,

url: that.prefix + ‘/yr_images/create_image/’,

data: fd,

headers: { ‘Content-Type’: ‘multipart/form-data’ },

cancelToken:that.source.token,//取消事件

onUploadProgress(progressEvent){//上传进度条事件

if (progressEvent.lengthComputable) {

let val = (progressEvent.loaded / progressEvent.total * 100).toFixed(0);

that.formData.showProgress = true;

that.formData.startValue = parseInt(val)

}

}

})

.then(function (response) {

if (response.data.status == 1) {

if (that.formData.startValue == 100) {

util.notification(‘success’, ‘成功’, response.data.success_msg);//这是全局封装的方法,不用在意。

that.getData(1);

}

} else {

util.notification(‘error’, ‘错误’, response.data.error_msg);

}

that.modal.formVisible = false;

})

.catch(function (error) {

that.modal.loading = false;

that.modal.formVisible = false;

if(that.Axios.isCancel(error)){//主要是这里

util.notification(‘success’, ‘成功’, ‘取消上传镜像操作成功’);

}

});

}

//点击取消事件,也就是上图的取消按钮

cancel(){

let that = this;

if(that.source){//我先判断soucre是否存在,因为如果我打开弹框不作任何操作,点击取消按钮没有这一层判断的话,that.source.cancel(‘取消上传’);会报错。

that.source.cancel(‘取消上传’);//”取消上传”这几个字,会在上面catch()的error中输出的,可以console看一下。

}

that.modal.formVisible = false;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148872.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 16G kingston U盘 解除写保护[通俗易懂]

    16G kingston U盘 解除写保护[通俗易懂]前些天买的16Gkingstonu盘忽然有了写保护,但是拆开u盘又没有看到有写保护开关。纠结加郁闷。然后一天后又忽然发生了电脑无法识别U盘,连盘符也读不出来了。里面好多资料全无,彻底让我伤心了,

  • 【Linux + Makefile】简单实用的Makefile模板来了

    【Linux + Makefile】简单实用的Makefile模板来了今天给大家介绍一个简单实用的Makefile模板,也可以当做学习Makefile核心内容的范例,里面都有详细的注释,清晰明了。这个Makefile主要解决以下需求:#######################################################################################需求:#1.编译输出的所有文件均放在一个outp…

  • MongoDB配置文件mongod.conf

    MongoDB配置文件mongod.conf

    2021年11月22日
  • efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集「建议收藏」

    efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集「建议收藏」[文章导读]最近有很多网友问我,为什么我的电脑开机后出现efishell提示进不了系统,开机出现efishell提示时,一般是由于第一启动项设置的是efishell启动的,有的网友告诉我,我第一启动项明明设置的是硬盘启动,当然还有一种情况就是前面的启动项都无法加载,然后按启动顺序启动,然后就启动到efishell了,出现这种情况一般就是系统引导破坏或是找不到引导项了。那么怎么找到原并解决…

  • PKI 体系

    PKI 体系PKI简介公开密钥基础建设(英语:PublicKeyInfrastructure,缩写:PKI),又称公开密钥基础架构、公钥基础建设、公钥基础设施、公开密码匙基础建设或公钥基础架构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。(PKI体系(一)-PKI介绍-简书)概念对称加密特点:加解密使用相同密钥,加解密过程速度快 算法:DES、3DES、AES非对称加密特点:加解密各用密钥对其中之一,密钥对公开的部

  • CSDN专属idea插件上线啦~~

    CSDN专属idea插件上线啦~~1.插件介绍CSDN的idea插件CSDNtools(以下简称tools),tools整合了日常开发中常用的工具,一站式工具集。json格式化 时间格式化 ip查询 计算器 CSDN平台搜索 github仓库搜索 maven仓库依赖搜索 常用文档检索 单词翻译 看新闻2.安装方法idea页面File–>Settings–>Plugins在Marketplace搜索csdn,选择下载安装。如图3.使用方法ctrl+shift+I唤起插件 Tool

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号