原生小程序在ios打不开在线预览文件的问题

慈云数据 7个月前 (04-27) 技术支持 60 0

描述问题: 小程序再IOS上点击pdf/doc等格式的文件报错errMsg: “openDocument:fail filetype not supported”. 但是安卓上是正常的.

先放代码截图(url是在线文件的地址.)

在这里插入图片描述在这里插入图片描述打印如上图.

wx.openDocument方法报错 不支持此格式. 然后看下此时wx.downloadFile返回的tempFilePath是.bin格式,根据查询文档可知, wx.openDocument只支持 doc 格式docx 格式xls 格式xlsx 格式ppt 格式pptx 格式 pdf 格式… 此时尝试设置wx.openDocument的fileType属性 尝试是否可以成功打开.

在这里插入图片描述

添加之后发现可以成功打开pdf格式的文件啦.

需求不止是pdf的时候 可以做以下判断

//url是在线文件地址
let fileType =url.split('').reverse().join('').split('.').shift().split('').reverse().join('').toLowerCase();
            // 下载文件方法
            wx.downloadFile({
                url: url,
                success: function (res) {
                    var Path = res.tempFilePath //返回的文件临时地址,用于后面打开本地预览所用
                    wx.openDocument({
                        filePath: Path,
                        fileType,
                        success: function () {
                            wx.hideLoading()
                        },
                        fail: function (error) {
                        }
                    })
                },
                fail: function (res) {
                    wx.hideLoading()
                }
            })`
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon