小程序预览txt文件、其他格式文件 doc, xls, ppt, pdf, docx, xlsx, pptx

1、预览doc, xls, ppt, pdf, docx, xlsx, pptx

//在线地址
if (item.url.indexOf('https') > 0) {
                        wx.downloadFile({
                            url: item.url,
                            filePath: `${wx.env.USER_DATA_PATH}/${item.fileName}`, // 需要预览文件的名称
                            success: function(res) {
                                wx.hideLoading()
                                const filePath = res.filePath;
                                wx.showLoading({
                                    title: '正在打开',
                                    mask: true
                                })
                                wx.openDocument({
                                    filePath: filePath,
                                    fileType,
                                    showMenu: false, //右上角是否有可以转发分享的功能
                                    success: function(res) {
                                        uni.hideLoading()
                                    },
                                    fail: function(err) {
                                        uni.hideLoading()
                                    }
                                });
                            },
                            fail: function(err) {
                                wx.hideLoading()
                            }
                        });
                    } else {
//本地缓存--打开可以显示文件名字非乱码
                        let fs = uni.getFileSystemManager();
                        console.log('wxfile://${item.fileName}====',item.url,`wxfile://${item.fileName}`)
                        
                        try {
                                    let result = fs.saveFileSync(
                                        item.url,
                                        `${wx.env.USER_DATA_PATH}/${item.fileName}`
                                    );
                                    console.log('result',result)
                                    uni.openDocument({
                                        filePath: `${wx.env.USER_DATA_PATH}/${item.fileName}`,
                                        showMenu: false, //右上角是否有可以转发分享的功能
                                        success: function(res) {
                                            console.log('打开文档成功');
                                        },
                                    })
                                }
                                catch (err) {
                                    console.log('saveFileSync fail', err);
                                }
                        
                    }

2、预览txt文件

   if(fileType==='txt'){    
 
            wx.navigateTo({
 
            url: `/packageBeforeClass/pages/txtView/txtView?fileName=${fileName}&fileType=${fileType}&url=${url}`,
 
          });    //如果是txt文件,跳转到txtTextView 页
 
// txtTextView 页
 
//显示txt
            getTxt(detail) {
                
                let fs = uni.getFileSystemManager();
                const that = this;
                                //线上地址
                if(detail.url.indexOf('https')>0){
                    uni.downloadFile({
                        url: detail.url,
                        filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,
                        success: function() {
                            uni.hideLoading();
                            fs.readFile({
                                filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,
                                encoding: 'utf8',
                                complete(res) {
                                    console.log(res)
                                    that.txtTextView=res.data //在wxml做展示    
                                }

                            })
                        },

                        fail: function(error) {
                            uni.hideLoading();
                            uni.showToast({
                                title: error.errMsg,
                                icon: "none"
                            });
                        }
                    });
                }else{  
                                    //未上传到服务器的缓存文件              
                    fs.readFile({
                        filePath: `${wx.env.USER_DATA_PATH}/${detail.fileName}`,                    
                        encoding: 'utf8',                   
                        complete(res) {
                            console.log(res)
                                that.txtTextView=res.data //在wxml做展示    
                        }
                    
                    })
                }
            },
 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容