请问为什么totalSize为0?? 是否服务器端要设置什么?
function downWgt(newVer){
var w=plus.nativeUI.showWaiting("正在下载更新包");
var dtask = plus.downloader.createDownload( updateServerUrl+"/"+newVer+'.wgt', {filename:"_doc/update/"}, function(d,status){
if ( status == 200 ) {
console.log("下载更新包成功:"+d.filename);
installWgt(d.filename); // 安装wgt包
} else {
console.log("下载更新包失败!");
plus.nativeUI.alert("下载更新包失败,请检查您的网络状况");
}
// plus.nativeUI.closeWaiting();
w.close();
});
dtask.addEventListener( "statechanged", function(d,status){
switch(d.state) {
case 1: // 开始
w.setTitle("正在下载更新包\n开始下载...")
console.log( "开始下载..." );
break;
case 2: // 已连接到服务器
w.setTitle("正在下载更新包\n连接到服务器...")
console.log( "链接到服务器..." );
break;
case 3: // 已接收到数据
w.setTitle("正在下载更新包\n下载数据: "+d.downloadedSize+"/"+d.totalSize )
break;
case 4: // 下载完成
w.setTitle("正在下载更新包\n下载完成")
console.log( "下载完成" );
break;
}
} );
dtask.start();
}
4 个回复
约战 (作者)
没人回答我的问题吗?检查了服务器端是有content-length的
这是例子http://snip.qq.com/resources/Snip_V2.0_5771.dmg的header
这是我做的下载php的代码
对应的头
约战 (作者)
在下载期间,totalSize一直为0啊,但是downloadedSize有值,是bug吗?
约战 (作者)
找到问题了,content-length丢失,所以totalsize一直为0;
content-lenth丢失是因为请求头用了gzip和trunked模式
所以最后发现问题出在我用的apache 的deflate_Module配置错误了,重新配置了一下,就可以出totalsize了。
wenju
亲 是不是得服务器设置才有值呢 ?我这边随便下载一个网络图totalSize一直为0,downloadedSize有值
2015-06-26 10:12
2***@qq.com
同问,是必须改服务器配置么
2017-05-08 11:53
l***@163.com
有没有解决这个问题的
2018-02-28 11:28
p***@126.com
有没有跟全面的回答,服务器给怎么设置