在 UniApp 中处理微信 Content URI(如 content:// 开头的 URI,常见于微信文件选择器返回的路径)转换为实际文件路径,可以通过以下步骤实现:
- 
使用 uni.chooseFileAPI:这是 UniApp 提供的文件选择方法,可以直接获取文件的临时路径,无需手动转换。
 uni.chooseFile({
  count: 1,
  success: (res) => {
    const tempFilePath = res.tempFilePaths[0]; // 直接获取临时文件路径
    console.log('文件路径:', tempFilePath); // 例如: 'http://tmp/xxx.jpg'
    // 可以用于上传或其他操作
  }
});
 
- 
如果必须处理 Content URI:在某些场景下(如通过其他方式获取 Content URI),可以使用 uni.downloadFile下载文件到临时路径。
 uni.downloadFile({
  url: 'content://...', // 替换为实际的 Content URI
  success: (downloadRes) => {
    const tempFilePath = downloadRes.tempFilePath; // 转换为临时路径
    console.log('转换后路径:', tempFilePath);
  },
  fail: (err) => {
    console.error('下载失败:', err);
  }
});
 
注意:
- 微信环境中的 Content URI 通常指向系统文件,UniApp 的 API 会自动处理路径转换,建议优先使用 uni.chooseFile。
- 如果遇到权限问题,确保在 manifest.json中配置了相应权限(如网络权限)。
- 临时路径仅在当前会话有效,如需持久化,需上传到服务器。
这种方法简单高效,适用于大多数 UniApp 项目。