n***@163.com
n***@163.com
  • 发布:2025-12-26 14:45
  • 更新:2025-12-26 14:46
  • 阅读:17

uniapp 鸿蒙使用 uni.share 分享时候提示fail 图片下载失败, SSL peer certificate or SSH remote key was not OK

分类:uni-app

uniapp 鸿蒙使用 uni.share 分享时候提示fail 图片下载失败, SSL peer certificate or SSH remote key was not OK;

把图片地址单独放到浏览器可以正常访问

2025-12-26 14:45 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。

根据问题描述和知识库内容,该问题发生在鸿蒙平台使用uni.share分享时提示"图片下载失败, SSL peer certificate or SSH remote key was not OK"。

原因分析:

  • 鸿蒙平台对SSL证书验证较为严格,当直接使用远程图片URL分享时(imageUrl参数),系统尝试下载图片过程中遇到SSL证书验证失败
  • 知识库文档明确指出:"Android端高版本无法分析私有路径的图片",虽然此描述针对Android,但鸿蒙系统有类似安全机制,对网络图片的SSL验证更严格
  • 浏览器能正常访问是因为浏览器有完善的证书信任机制,而uni-app分享功能底层调用系统API时可能缺少必要的证书验证处理

解决方案:

  1. 先下载再分享:使用uni.downloadFile将图片下载到本地临时路径,再使用本地路径分享

    uni.downloadFile({  
    url: 'https://example.com/image.jpg',  
    success: (res) => {  
    if (res.statusCode === 200) {  
      uni.share({  
        provider: 'weixin',  
        type: 2,  
        imageUrl: res.tempFilePath, // 使用本地路径  
        success: () => console.log('分享成功'),  
        fail: (err) => console.error('分享失败', err)  
      });  
    }  
    }  
    });
  2. 检查图片URL:确保图片URL使用有效的HTTPS证书,避免自签名证书

  3. 考虑UTS插件:如文档所述,"新版本Android的文件权限有较大调整...推荐使用uts插件",可前往插件市场搜索分享插件获取更完善的鸿蒙分享支持

注意:鸿蒙平台不支持直接使用网络图片路径分享,必须使用本地路径。参考文档:uni.share API说明

内容为 AI 生成,仅供参考

要回复问题请先登录注册