文章内容

2023/2/3 22:35:34,作 者: 黄兵

微信小程序uni-app保存下载文件问题ios打开文件失败

有很多朋友说使用 uni-app 写的微信小程序,在 ios 平台上保存文件经常会出现各种各样的问题,下面的示例代码可以解决 ios 的微信小程序保存文件的问题。

示例代码:

exportExcel() {
    //下载文件
    uni.downloadFile({ //只能是GET请求
        url:'http://pdf-lib.org/server/configuration/download', //请求地址(后台返回的码流地址)
        success: (res) => {
            //下载成功
            if (res.statusCode === 200) {
                //保存文件
                let tempFile = res.tempFilePath;
                console.log(tempFile, 'tempFilePath')
                //保存成功之后 打开文件
                uni.openDocument({
                    filePath: tempFile,
                    fileType: 'xlsx',
                    showMenu: true, //微信小程序 downloadFile生成的tempFilePath为临时路径无法直接保存到手机 显示菜单设置可以手动保存到手机本地
                    fail: (e) => {
                        console.log(e, '打开失败')
                        let nowEno = uni.getSystemInfoSync().platform; //当前环境
                            if (nowEno == 'ios') { //ios打开临时路径文件失败 设置ios环境下读取临时路径文件可以打开
                            uni.getFileSystemManager().readFile({
                                filePath:tempFile,
                                success: res => {
                                var filebuffer =res.data
                                return filebuffer
                                },
                                fail: console.error
                            })
                            }else{
                            uni.showToast({
                                title: '打开失败'
                            })
                            }
                       
                    }
                })
            }
        },
        fail: (e) => {
            console.log(e, '文件下载失败')
            uni.showToast({
                title: '文件下载失败',
                icon: "none",
            })
        }
    });
}


如果有任何问题,欢迎下面留言。

分享到:

发表评论

评论列表