微信小程序预览和分享文件

预览文档

javascript 复制代码
 previewFile(val) { 
        let item = val.currentTarget.dataset.item  
         
        wx.downloadFile({
            url: item.filePath, // 替换为实际的文件地址
            success: function (res) {
                let filePath =`${wx.env.USER_DATA_PATH}/${item.fileName}`|| res.tempFilePath //查看的文件名
                wx.openDocument({
                    filePath: filePath, 
                    showMenu: true, // 是否显示右上角菜单按钮
                    success: function () {
                        console.log('打开文档成功');
                    },
                    fail: (err) => {
                        console.log('打开文档失败', err);
                    }
                });
            },
            fail: (err) => {
                console.log('下载文件失败', err);
            }
        });
    },

分享到聊天框

javascript 复制代码
 shareToWeChat() {
            wx.downloadFile({
                //文件地址
                url: this.data.currentData.filePath,
                success: (res) => {
                    if (res.statusCode === 200) {
                        const filePath = res.tempFilePath;
                        // 获取原始文件的后缀(如 .pdf)
                        const fileExt = this.getFileExtension(this.data.currentData.filePath);
                        // 设置分享时的文件名(确保带后缀)
                        //设置分享的文件名称
                        let data = wx.getStorageSync('resumeInfo')
                        const fileName = data ? data.fileName : `file.${fileExt}`; // 例如:file.pdf 
                        wx.shareFileMessage({
                            filePath: filePath,
                            fileName: fileName, // 关键:指定文件名(含后缀)
                            success() {
                                console.log("分享成功");
                            },
                            fail(err) {
                                console.error("分享失败", err);
                                wx.showToast({
                                    title: '分享失败',
                                    icon: 'none'
                                });
                            }
                        });
                    } else {
                        // ...错误处理
                    }
                },
                fail: (err) => {
                    // ...错误处理
                }
            });
        },


    // 从 URL 获取文件后缀(如 .pdf)
        getFileExtension(url) {
            if (!url) return '';
            const filename = url.split('/').pop(); // 获取文件名部分
            const ext = filename.split('.').pop(); // 获取后缀
            return ext.toLowerCase(); // 统一小写
        },
相关推荐
2501_915106321 天前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
Java.慈祥1 天前
速通-微信小程序 2Day
微信小程序·小程序·前端框架
CHU7290351 天前
生鲜商城小程序前端功能版块:适配生鲜采购核心需求
前端·小程序
hnxaoli1 天前
通信小程序(九)快捷键自动改名
linux·python·小程序
2501_915918411 天前
中小团队发布,跨平台 iOS 上架,证书、描述文件创建管理,测试分发一体化方案
android·ios·小程序·https·uni-app·iphone·webview
2501_933907211 天前
宁波小程序公司是什么?主要提供宁波微信小程序制作与服务吗?
科技·微信小程序·小程序
CHU7290351 天前
废品回收小程序前端功能设计逻辑与实践
前端·小程序
小小王app小程序开发1 天前
上门家政服务小程序盈利模式分析(附技术落地要点)
小程序
码云数智-大飞1 天前
微信商城小程序怎么弄?2026年主流小程序商城平台对比
微信小程序
蜕变菜鸟1 天前
小程序分享
小程序