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

预览文档

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(); // 统一小写
        },
相关推荐
00后程序员张1 小时前
iOS 开发环境搭建完整指南 Xcode 安装配置、iOS 开发工具选择、ipa 打包与 App Store 上架实战经验
android·macos·ios·小程序·uni-app·iphone·xcode
從南走到北4 小时前
JAVA露营基地预约户外露营预约下单系统小程序
java·开发语言·小程序
CChenhire4 小时前
乔拓云门店小程序快速搭建攻略
小程序
00后程序员张6 小时前
App 上架全流程指南,iOS 应用发布步骤、ipa 文件上传工具、TestFlight 分发与 App Store 审核经验分享
android·ios·小程序·https·uni-app·iphone·webview
说私域6 小时前
基于开源AI大模型AI智能名片S2B2C商城小程序的产地优势产品营销策略研究
人工智能·小程序·开源
说私域6 小时前
蒸汽机革命后工业生产方式的变革与AI智能名片S2B2C商城小程序的影响
大数据·人工智能·小程序
2501_916013746 小时前
iOS App 上架流程详解,苹果应用发布步骤、App Store 审核规则、ipa 文件上传与测试分发实战经验
android·ios·小程序·https·uni-app·iphone·webview
Nan_Shu_6146 小时前
学习:uniapp全栈微信小程序vue3后台(28)
前端·学习·微信小程序·小程序·uni-app
计算机学姐6 小时前
基于微信小程序的扶贫助农系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
发财北7 小时前
房屋管理系统开发流程
小程序