下面的方法可以解决选择不了的问题
// #ifdef APP-PLUS // 使用 plus.io 打开文件选择器 let that = this; // 使用立即执行函数表达式(IIFE)来封装文件选择逻辑 (function chooseAndProcessFile() { plus.gallery.pick(function (path) { // 成功选择了文件 console.log('选择文件路径:', path); processSelectedFile(path); }, function (e) { // 选择文件失败 if (e.code !== 12) { // 用户取消选择时不提示错误 uni.showToast({ title: '文件选择失败,请重试', icon: 'none' }); } }, { filter: "none", // 允许选择所有类型的文件 multiple: false, maximum: 1, system: false, preview: false, permissionAlert: true, // 如果没有权限时显示提示 }); // 处理选择的文件 function processSelectedFile(filePath) { plus.io.resolveLocalFileSystemURL(filePath, function (entry) { entry.file(function (file) { that.sendFileMessage({ name: file.name, size: file.size, type: file.name.split('.').pop().toLowerCase(), url: filePath // 或者使用file.localURL取决于你的需求和实际测试效果 }); }, function (e) { console.error('读取文件失败:', e.message); uni.showToast({ title: '文件读取失败,请重试', icon: 'none' }); }); }, function (e) { console.error('解析本地文件路径失败:', e.message); uni.showToast({ title: '无法解析文件路径,请重试', icon: 'none' }); }); } })(); // 立即执行 // #endif