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

预览文档

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(); // 统一小写
        },
相关推荐
心无旁骛~31 分钟前
【Claude Code开发】AI记账助手(miaozhang)微信小程序开发与部署完整指南
人工智能·微信小程序·notepad++
2501_933907213 小时前
本凡科技提供的宁波小程序开发服务全面解决方案
科技·微信小程序·小程序
阿珊和她的猫3 小时前
微信小程序静默授权异步问题的处理方案
微信小程序·状态模式·notepad++
左师佑图3 小时前
微信小程序集成 Day.js 插件的完整解决方案
微信小程序·小程序
2501_933907213 小时前
本凡科技提供宁波小程序服务与定制解决方案
科技·微信小程序·小程序
计算机徐师兄3 小时前
Java基于SpringBoot的运动健康小程序【附源码、文档说明】
spring boot·小程序·运动健康·java运动健康小程序·运动健康小程序·java运动健康微信小程序·运动健康微信小程序
Xpower 173 小时前
OpenClaw实战:从零开发电商小程序(2)
人工智能·语言模型·小程序·gateway
2501_9339072112 小时前
宁波小程序开发服务与技术团队专业支持
科技·微信小程序·小程序
sheji341621 小时前
【开题答辩全过程】以 基于微信小程序的少儿编程学习平台为例,包含答辩的问题和答案
学习·微信小程序·小程序
const_qiu1 天前
微信小程序自动化测试100%通过率实践
微信小程序·小程序