当前文件为存在阿里云上的文件,可以直接使用url访问

如果在模拟器上可以正确查看文件,但在体验版或正式版查看失败,可能是未配置合法域名:微信公众平台-》左侧导航中的开发管理-》开发设置tab里的服务器域名配置部分配置文件所在的域名

openFile(url, name) {
    let type = name.split(".")[name.split(".").length - 1];
    let image = ["JPG", "JPEG", "PNG"];
    let file = ["DOC", "XLS", "PPT", "PDF", "DOCX", "XLSX", "PPTX"];
    let urls = [];
    urls.push(url);
    // 如果文件是图片类型
    if(image.indexOf(type.toLocaleUpperCase()) > -1) {
        uni.previewImage({
            urls: urls,
            success: () => {},
            fail: (e) => {
                console.log(e);
                showModalWithText('预览文件失败')
            },
        });
    }
    // 如果文件是DOC/XLS/PPT/PDF/DOCX/XLSX/PPTX类型
    else if(file.indexOf(type.toLocaleUpperCase()) > -1) {
        // 小程序配置的合法域名为https协议
        if(url.indexOf("http") > -1 && url.indexOf("https") === -1) {
            url = url.replace("http", "https");
        }
        uni.downloadFile({
            url: url,
            success: function (res) {
                var filePath = res.tempFilePath;
                uni.openDocument({
                    filePath: filePath,
                    fileType: type.toLocaleLowerCase(),
                    success: function (res) {
                        console.log('打开文档成功');
                        // 提示:预览文件失败
                    },
                    fail: (e) => {
                        console.log(e);
                        // 提示:预览文件失败
                    },
                });
            },
            fail: function(err) { 
                // 提示:预览文件失败
            },
        });
    }
    else {
        // 提示:此类型文件暂不支持预览
    }
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐