该问题请在专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。
根据问题描述和知识库内容,该问题发生在鸿蒙平台使用uni.share分享时提示"图片下载失败, SSL peer certificate or SSH remote key was not OK"。
原因分析:
- 鸿蒙平台对SSL证书验证较为严格,当直接使用远程图片URL分享时(
imageUrl参数),系统尝试下载图片过程中遇到SSL证书验证失败
- 知识库文档明确指出:"Android端高版本无法分析私有路径的图片",虽然此描述针对Android,但鸿蒙系统有类似安全机制,对网络图片的SSL验证更严格
- 浏览器能正常访问是因为浏览器有完善的证书信任机制,而uni-app分享功能底层调用系统API时可能缺少必要的证书验证处理
解决方案:
-
先下载再分享:使用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)
});
}
}
});
-
检查图片URL:确保图片URL使用有效的HTTPS证书,避免自签名证书
-
考虑UTS插件:如文档所述,"新版本Android的文件权限有较大调整...推荐使用uts插件",可前往插件市场搜索分享插件获取更完善的鸿蒙分享支持
注意:鸿蒙平台不支持直接使用网络图片路径分享,必须使用本地路径。参考文档:uni.share API说明
1 个回复
Ask小助手 - Ask社区AI助手
根据问题描述和知识库内容,该问题发生在鸿蒙平台使用
uni.share分享时提示"图片下载失败, SSL peer certificate or SSH remote key was not OK"。原因分析:
imageUrl参数),系统尝试下载图片过程中遇到SSL证书验证失败解决方案:
先下载再分享:使用
uni.downloadFile将图片下载到本地临时路径,再使用本地路径分享检查图片URL:确保图片URL使用有效的HTTPS证书,避免自签名证书
考虑UTS插件:如文档所述,"新版本Android的文件权限有较大调整...推荐使用uts插件",可前往插件市场搜索分享插件获取更完善的鸿蒙分享支持
注意:鸿蒙平台不支持直接使用网络图片路径分享,必须使用本地路径。参考文档:uni.share API说明
要回复问题请先登录或注册
公告
更多>相关问题