千家信息网

vue如何实现实时上传文件进度条

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍了vue如何实现实时上传文件进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下//上传文件组件
千家信息网最后更新 2025年01月16日vue如何实现实时上传文件进度条

这篇文章主要介绍了vue如何实现实时上传文件进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体内容如下

//上传文件组件      上传数据//进度条组件
data() {    return {        percent:0,        progressFlag:false,        deg:135,        status:this.percent<100?"":"success",//进度条组件加上状态后不显示文字        color:[            {color:"#fdfdfd",percentage:99},            {color:"#ccccc",percentage:100},        ]    }}
methods:{async uploadFile(file){        //:on-progress="uploadFile"上传时会多次调用,由于是本地,间隔较大        let reg = /(?<=\.)[a-z]+$/g        let fileType = file.name.match(reg)+""        let typeArr = ["xls","xlsx","csv"]        if(!typeArr.includes(fileType)){            this.$message.warning("上传文件格式错误!")            return         }        let formData = new FormData()        formData.append('file',file)        // realtimeUploadLocal({        //     file:formData,        //     uid:this.$store.state.userInfo.user.uid,        // })        this.progressFlag = true        await realtimeUpload(formData,this).then((res)=>{            if(res.code == "0"){                this.$message.success(res.data)            }else{                this.$message.warning(res.data)            }        })        setTimeout(()=>{            this.progressFlag = false            // this.rotateFn(0)            this.percent = 0        },1000)    },progressFormat(percentage){        return percentage<100?"已上传("+percentage+"%)":"上传完成" }}

感谢你能够认真阅读完这篇文章,希望小编分享的"vue如何实现实时上传文件进度条"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0