本地上传获取进度&把本地文件变为预览地址可以播放

<input type="file" ref='file' id='newPriod' @change="uploadPic('newPriod')">
uploadPic(el) {
                let uploadPic = document.getElementById(el)
                if (uploadPic.value) {
                    let file = uploadPic.files[0] // 获取文件对象
                    if (!file.name.split('.')[1].includes('mp3') && !file.name.split('.')[1].includes('mp4')) {
                        this.$message.error('仅支持MP3、MP4格式')
                        this.$refs.file.value = ''
                        return false
                    }
                    this.fileList = []
                    this.fileList.push({
                        name: file.name.split('.')[0],
                        type: this.fileType(file.name.split('.')[1]),
                        path: window.URL.createObjectURL(file) // 将文件对象变为预览地址可以使其播放
                        // id: file.id,
                        // duration: file.duration
                    })
                    const formData = new FormData()
                    formData.append('file', file)
                    this.$axios.post('/xxx', formData, {
                        onUploadProgress: function () {
                            let pro = Math.floor(
                                (arguments[0].loaded / arguments[0].total) * 100
                            )
                            // 获取上传进度
                            console.log(pro)
                        },
                        timeout: 0
                    }).then(res => {
                        console.log(res)
                    })
                    // 上传文件后将file标签的值设置为空 避免造成第二次上传相同文件不显示的问题
                    this.$refs.file.value = ''
                }
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力让自己的选择变得正确

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值