解决方案:在responseHeader中加入 Content-Length
返回即可。
问题分析:
一般的静态文件放在OSS或者服务器上请求的时候服务器响应头都会有个Content-Length
文件大小(单位:b)返回。
如果响应头没有返回这个字段,将无法计算进度。也就有了为啥 res.progress
返回的是null
、一直是0
、根本不会进入onProgressUpdate
事件等问题
微信小程序:“你不告诉我文件有多大我怎么给你计算进度?”
写了个可以复现的
代码片段
:https://developers.weixin.qq.com/s/7yUmn7mI7OvX
从阿里oss下载,已经下载的数据长度totalBytesWritten有返回,但是值不准确,文件已经下载完成了,totalBytesWritten的值还不到文件总大小的一半,又遇到这种问题吗
https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
这种情况是服务端动态返回文件的时候发生的吗