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;

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 3D画廊采用Gallery实现无限循环、自动轮播

    Android 3D画廊采用Gallery实现无限循环、自动轮播公司最近有一个需求,是打算做一个轮播图的展示界面,不过和传统意义上不同,并非是在手机app的顶部展示几张定时切换的固定大小宽高的图片,而是中间长方形,两边向里倾斜,形成对称感的特殊界面,如下图:需要实现功能:无限循环,自动跳转,倒影效果。(原本的企划是动画轮播的时候,下面会呈现一条Listview,里面会因为展示的不同界面而呈现不同的内容,但是后面放弃了。)下面开始上代码:

    2022年6月13日
    43
  • 返回顶部的五种实现方法

    返回顶部的五种实现方法【1】使用默认链接锚点添加一个a链接,设置a链接的href属性值为"#top"即可实现<div>我在顶部</div><!–很多内容–&g

    2022年7月3日
    35
  • mt4软件下载使用_安卓手机如何下载mt4

    mt4软件下载使用_安卓手机如何下载mt4现在要投资理财非常的方便,投资者只要通过交易软件就可以线上完成这个过程。不得不承认,一款好的交易软件确实能让投资者获得更好的体验,而一款品质较差的软件不仅会让交易不顺,甚至会让投资者错失盈利机会。目前市面上主流的交易软件就是mt4,那mt4软件怎么选对下载方式?在正规安全平台下载mt4软件mt4的下载方式很多,一些没有经验的投资者可能会“下错”软件,比如在一些正规性上存在问题的网站下载了mt4软件,这就很有可能会使自己的交易暴露在严重的风险中。那正版mt4。cnca。ink软件在哪里下载更安全呢?为了避

    2022年8月15日
    4
  • Java基础篇:Iterator迭代器

    Java基础篇:Iterator迭代器

    2021年10月4日
    43
  • 费马小定理和费马大定理_费马小定理推论

    费马小定理和费马大定理_费马小定理推论(1)费马小定理结论:结论是若存在整数a,p且gcd(a,p)=1,即二者互为质数,则有a(p-1)≡1(modp)。(这里的≡指的是恒等于,a(p-1)≡1(modp)是指a的p-1次幂取模与1取模恒等),再进一步就是ap≡a(modp)。继续学习:中国剩余定理、拓展欧几里得(exgcd)、求除法逆元、费马小定理(2)费马大定理结论:又被称为“费马最后的定理”,常见的表述为当整数n>2时,关于xn+yn=zn的方程没有正整数解。当n=0时,实数范围只有x=0,y

    2025年8月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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