forlive
forlive
  • 发布:2021-04-29 19:46
  • 更新:2022-10-31 23:11
  • 阅读:1481

uni.downloadFile() 400 下载文件为空

分类:nvue

##今天接到个需求,实现安卓热更新,先用uni.downloadFile下载再用install安装
###问题:下载返回的statusCode为400,看log文件夹里为空没有文件
###解决办法:在路径后面拼上?mtmz.apk 也就是把文件名拼到后面,在看code返回200,文件夹里也有文件了 ,解决问题,代码如下:

uni.downloadFile({  
	url: 'http://xxxx/apk/mtmz.apk?mtmz.apk',  
	success: (res) => {  
		if (res.statusCode === 200) {  
			plus.runtime.install(res.tempFilePath, {  
				force: true  
			}, function() {  
				console.log("加载完成!");  
			}, function(e) {  
				console.log(JSON.stringify(e));  
			}); //下载成功安装apk  
		}  
	},  
	fail: (err) => {  
		console.log(err);  
		uni.showToast({  
			icon: 'none',  
			mask: true,  
			title: '安装失败,请重新下载',  
		});  
	}  
})
2021-04-29 19:46 负责人:无 分享
已邀请:
[已删除]

[已删除]

那要是我每次下载的文件包名都不一样呢?

码上啥都有

码上啥都有 - 自由职业开发者,安卓开发,可定制各种插件,免费咨询,欢迎骚扰[wx:zhugefubin | QQ:553629767]

这是什么原理

码上啥都有

码上啥都有 - 自由职业开发者,安卓开发,可定制各种插件,免费咨询,欢迎骚扰[wx:zhugefubin | QQ:553629767]

我遇到华为电视无法下载文件的情况,最后排查发现跟权限有关系,外置存储私有目录也得申请权限,还能说什么
具体表现为文件夹路径Android/data/xxx(本来是不需要申请权限的)被替换为了Harmony/data/xxx,而且可能替换得不彻底,导致原本不需要申请权限的自己的目录还得申请权限才能读写,真是太鸿蒙了

要回复问题请先登录注册