5***@qq.com
5***@qq.com
  • 发布:2022-09-14 15:08
  • 更新:2023-08-16 18:54
  • 阅读:1743

plus.runtime.install安装apk失败,提示WGT/WGTU文件格式错误

分类:uni-app

文档上文件格式可以是apk,真机模拟和云打包后都未能安装成功,查询觉得奇怪的点是,
为啥我的downloadFile返回的临时文件路径,没有文件后缀,下载地址可在浏览器上直接下载且有后缀有格式
/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/doc/uniapp_temp_1663141888515/download/315da213cc6e9f7c20c643f42dedc757
相关的权限也勾上了(INSTALL_PACKAGES 、REQUEST_INSTALL-PACKAGES)
targetSdkVersion 25
代码如下:

export const startDownload = (url) => {  
    const platform = uni.getSystemInfoSync().platform  
    const downloadTask = uni.downloadFile({  
        url,  
        success: downloadResult => {  
            console.log(downloadResult)  
            if (downloadResult.statusCode === 200) { //downloadResult.statusCode === 200  
                // return  
                plus.runtime.install(  
                    downloadResult.tempFilePath, {  
                        force: true  
                    },  
                    function() {  
                        utils.showToast('更新成功,重启中');  
                        plus.runtime.restart();  
                    },  
                    function(e) {  
                        console.log(e)  
                        plus.nativeUI.closeWaiting();  
                        console.error('install fail...');  
                    }  
                );  
            } else {  
                uni.showModal({  
                    title: `提示:${downloadResult.statusCode}`,  
                    content: `更新包下载失败,请联系管理员`,  
                    showCancel: false,  
                    success: function(res) {  
                        if (res.confirm) {  
                            switch (platform) {  
                                case 'android':  
                                    plus.runtime.quit();  
                                    break;  
                                case 'ios':  
                                    plus.runtime.restart();  
                                    break;  
                                default:  
                                    console.log('运行在开发者工具上');  
                                    break;  
                            }  
                        }  
                    }  
                });  
            }  
        },  
        fail: function(e) {  
            console.log('失败', e)  
        },  
        complete: function() {  
            // plus.nativeUI.closeWaiting();  
        }  
    });  

    var showLoading = plus.nativeUI.showWaiting("正在下载"); //创建一个showWaiting对象   
    downloadTask.onProgressUpdate((res) => {  
        console.log(res.progress)  
        showLoading.setTitle("正在下载" + res.progress + "%  ");  
        if (res.progress == 100) {  
            plus.nativeUI.closeWaiting();  
        }  
    });  
}
2022-09-14 15:08 负责人:无 分享
已邀请:
5***@qq.com

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

回答:使用plus 相关api下载文件自定义文件名带上后缀,因为我们获取文件的方式不是直接去服务器上拿文件,二是通过附件id再中转一层,导致没有文件后缀。

FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

直接把下载地址发出来,下载地址一般要带后缀名,才可以

2990776359

2990776359

作者请问解决了吗 可以加个qq吗

  • 毛毛不是泰迪

    请问你找到解决方案了吗?我也遇到了同样的问题

    2023-05-29 12:20

s***@sina.com

s***@sina.com

解决了吗?下载wgt也没有后缀名

  • 毛毛不是泰迪

    我之前是因为文件服务器没有设置二级目录导致

    2023-08-21 16:33

要回复问题请先登录注册