cordova实现app版本更新踩坑

 return await axios
            .get('此处放下载apk文件后端接口url', {
                headers: { "Content-type": "charset=UTF-8" },
                responseType: "blob"
            })
            .then((res: any) => {
                this.fileHref = "cdvfile://localhost/persistent/app.apk";
                let uri = encodeURI(
                    "上传apk文件接口地址"
                );
                const fileTransfer: FileTransferObject = FileTransfer.create();
                let options = {
                    fileKey: "file",
                    fileName: "app.apk"
                };
                fileTransfer
                    .download(uri, this.fileHref, true, options)
                    .then(data => {
                        console.log(data, data.toInternalURL(), data.nativeURL);
                        Toast.clear();
                        Toast.success("文件下载成功!");
                        try {
                            cordova.plugins.fileOpener2.open(
                                "cdvfile://localhost/persistent/app.apk",
                                // data.toInternalURL(),
                                //  data.nativeURL,
                                "application/vnd.android.package-archive",
                                {
                                    error: function(e) {
                                        console.log(e,JSON.stringify(e), "安装文件打开失败!");
                                    },
                                    success: function(data) {
                                        console.log(data, "安装文件打开成功!");
                                    }
                                }
                            );
                        } catch (error) {
                            console.log(error);
                        }
                    })
                    .catch(err => {
                        Toast.clear();
                        console.log(err);
                        Toast.fail("文件下载失败!");
                    });
            });

引入

import { FilePath } from "@ionic-native/file-path";
import {
    FileTransfer,
    FileUploadOptions,
    FileTransferObject
} from "@ionic-native/file-transfer";
import { File } from "@ionic-native/file";

踩坑

cordova-plugin-file-opener2的2.2.1有问题,我删除了2.2.1,添加2.2.0就可以了。cordova plugin rm cordova-plugin-file-opener2,cordova plugin add cordova-plugin-file-opener2@2.2.0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值