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

预览文档

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(); // 统一小写
        },
相关推荐
少云清1 小时前
【功能测试】5_小程序项目 _抓包修改轮播图(重要)
小程序
深红2 小时前
玩转小程序AR-基础篇
前端·微信小程序·webvr
從南走到北2 小时前
JAVA代驾小程序源码代驾跑腿APP源码
java·开发语言·微信·微信小程序·小程序
小小王app小程序开发3 小时前
招工招聘小程序运营风险清单:资质备案 + 信息审核 + 服务履约避坑实操
小程序
2501_915921434 小时前
混合开发应用安全方案,在多技术栈融合下构建可持续、可回滚的保护体系
android·安全·ios·小程序·uni-app·iphone·webview
q_19132846954 小时前
基于SpringBoot2+Vue2+uniapp的考研社区论坛网站及小程序
java·vue.js·spring boot·后端·小程序·uni-app·毕业设计
pearbing5 小时前
多平台发力:小程序搜索优化的实用策略指南
小程序·小程序搜索排名·小程序优化·小程序搜索排名优化·小程序搜索优化·小程序seo
2501_915106325 小时前
Charles抓包怎么用 Charles抓包工具详细教程、网络调试方法、HTTPS配置与手机抓包实战
网络·ios·智能手机·小程序·https·uni-app·webview
00后程序员张6 小时前
Fastlane 结合 开心上架,构建跨平台可发布的 iOS 自动化流水线实践
android·运维·ios·小程序·uni-app·自动化·iphone
游戏开发爱好者86 小时前
iOS 性能测试的工程化方法,构建从底层诊断到真机监控的多工具测试体系
android·ios·小程序·https·uni-app·iphone·webview