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

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,而且可能替换得不彻底,导致原本不需要申请权限的自己的目录还得申请权限才能读写,真是太鸿蒙了

该问题目前已经被锁定, 无法添加新回复