下载进度

name(urlBase, name, isDelete = true, onProgress) {
        var url = urlBase
        console.log(url)
        let index = url.lastIndexOf(".")
        let strType = urlBase.substring(index, url.length);
        let newName = name + strType
        console.log(newName)
        axios({
            method: 'get',
            url: url,
            responseType: 'blob',
            headers: { 'Authorization': 'Bearer ' + getToken() },
            onDownloadProgress(progressEvent) {
                if (onProgress && progressEvent.lengthComputable) {
                    var percent = Math.round((progressEvent.loaded / progressEvent.total) * 100)
                    onProgress(percent, progressEvent.loaded, progressEvent.total)
                }
            }
        }).then(res => {
            console.log('再这里开始的')
            const blob = new Blob([res.data])
            this.saveAs(blob, newName)
            if (onProgress) {
                onProgress(100, 0, 0)
            }
        }).catch(err => {
            console.log('下载失败', err)
            if (onProgress) {
                onProgress(-1, 0, 0)
            }
        })
    },

 

posted @ 2026-09-21 14:49  ThisCall  阅读(5)  评论(0)    收藏  举报