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

预览文档

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(); // 统一小写
        },
相关推荐
河北清兮网络科技2 小时前
短剧 APP 产品说明
小程序·uni-app·短剧
AI品信智慧数智人11 小时前
文旅景区小程序集成数字人智能语音交互系统,山东品信解锁AI伴游新玩法✨
人工智能·小程序
医疗信息化王工12 小时前
钉钉小程序开发实战:投诉管理系统
小程序·钉钉·开发·投诉管理
灵机一物15 小时前
灵机一物AI原生电商小程序(已上线)-从“48 小时失联”到“长期可触达”:一套小程序公众号关注引导 + 订阅消息授权的产品化设计
小程序
碎像15 小时前
掌握uniapp发布微信小程序、App(Android)
微信小程序·小程序·uni-app
程序媛徐师姐16 小时前
Java基于SSM的实验室管理微信小程序,附源码+文档说明
java·微信小程序·实验室管理·实验室管理微信小程序·java实验室管理微信小程序·java实验室管理小程序·实验室管理小程序
CHU7290351 天前
生鲜团购商城小程序:新鲜触手可及的便捷购物新体验
小程序
医疗信息化王工2 天前
钉钉小程序开发实战:手术查询小程序
小程序·钉钉·手术查询
软件开发技术2 天前
新版点微同城主题源码34.7+全套插件+小程序前后端 源文件
小程序·php
mon_star°2 天前
消防安全培训小程序项目亮点与功能清单
小程序