7***@qq.com
7***@qq.com
  • 发布:2023-12-06 15:42
  • 更新:2023-12-07 11:44
  • 阅读:196

使用onProgressUpdate方法时,内部的逻辑不执行

分类:uni-app

如题所示,使用uni.downloadFile定义一个downloadTask对象,输出downloadTask如下图,并且对该downloadTask使用onProgressUpdate方法,方法内部的代码没有执行(res并没有输出)

2023-12-06 15:42 负责人:无 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

写了个例子,你试试

<template>  
    <view>  
        <view class="jdt" ref="jdt">  
            jdt  
        </view>  
        <button @click="eleClick">点击</button>  
    </view>  
</template>  

<script>  
    export default {  
        components: {  

        },  
        data() {  
            return {  

            }  
        },  
        onLoad() {  
            // console.log(localStorage.getItem('haha'))  
            // window.addEventListener('beforeunload', () => {  
            //  localStorage.setItem('haha', '1111111111111111111111111111')  
            // })  
        },  
        methods: {  
            eleClick() {  
                const task = uni.downloadFile({  
                    url: 'https://www.dingtalk.com/android/d/',  
                    success: (uploadRes) => {  
                        console.log(uploadRes)  
                    },  
                    fail: (e) => {  

                    }  
                });  
                task.onProgressUpdate((res) => {  
                    console.log(res)  

                });  
            }  
        }  
    }  
</script>  

<style>  

</style>
  • 7***@qq.com (作者)

    你好,我试了一下,res也是没有输出,方便看一下您这边的task是什么样的吗?我感觉是不是下载文件的格式问题

    2023-12-07 10:33

  • 7***@qq.com (作者)

    我找到问题了,这个方法有限制,应该是50M(估计)以上的都走不到这个监听,因为我随便找了个网络图片用这个方法就能进入监听

    2023-12-07 11:02

  • 喜欢技术的前端

    回复 7***@qq.com: https://www.dingtalk.com/android/d/ 这个钉钉的apk,235M,你是直接执行这个页面吗?

    2023-12-07 11:47

  • 7***@qq.com (作者)

    回复 喜欢技术的前端: 是这样的,我使用了网络上某个游戏app的下载路径,结果返回成功,初步验证了是我的下载地址问题,但是我这边的下载是成功的,只是无法做到监听进度,这是因为什么呢

    2023-12-11 09:15

7***@qq.com

7***@qq.com (作者)

楼主目前试验出的问题原因,大概是因为下载文件的大小问题,太大了就不会触发监听方法,楼主在把下载地址改成网络图片之后,就成功触发了监听,uni的和h5+的方法都一样,目前我没有解决这个问题的方法,希望有懂的大神帮帮忙,给个解决方案,谢谢

  • DCloud_UNI_OttoJi

    同样的下载逻辑,小文件正常触发下载进度,超大文件不能触发是嘛?我测试下

    2023-12-07 15:10

  • 7***@qq.com (作者)

    回复 DCloud_UNI_OttoJi: 初步估计是这个原因,但是因为我在使用H5+的方法时将url换成了网络上某款游戏的下载路径后又能正常返回,所以我现在又怀疑是我这边url的问题,但实在想不出是什么问题会导致这个情况

    2023-12-07 17:34

要回复问题请先登录注册