使用以下方式调用系统分享,分享底部系统弹窗可以出来,但是点击分享时toast提示获取资源失败
filepath使用下载的路径或者绝对路径都没用
uni.downloadFile({
url: currentData.value.file,
success: (res) => {
console.log(res);
if (res.statusCode === 200) {
uni.shareWithSystem({
// filePath: res.tempFilePath
filePath: "/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/doc/uniapp_temp_1720508859560/download/防涝预警四级.png_20240709103704.png",
success: function(res) {
console.log('分享成功:' + JSON.stringify(res));
},
fail: function(err) {
console.error('分享失败:' + JSON.stringify(err));
}
});
}
}
});
5 个回复
4***@qq.com
遇到相同问题。毫无头绪。
1***@qq.com (作者) - 90后老男孩
使用下面的方式可以成功调用Android系统的分享功能
export function shareFile(filePath : string) {
//选择 uni.downloadFile 下载后的 filePath = res.tempFilePath
//UTSAndroid.convert2AbsFullPath 可以转换 res.tempFilePath 这个路径
let file = new File(UTSAndroid.convert2AbsFullPath(filePath))
//选择static文件夹下的文件
// let file = new File(UTSAndroid.getResourcePath("static/images/logo_tree.png"))
const uri = UTSAndroid.getFileProviderUri(file)
}
DCloud_heavensoft
嗯,用uts就可以。插件市场也有封装好插件可用
1***@qq.com (作者) - 90后老男孩
还是会不好用 c
1***@qq.com (作者) - 90后老男孩
不好用的原因好像是 在测试手机上分享,但是测试手机没有登录微信