1***@qq.com
1***@qq.com
  • 发布:2024-07-09 15:25
  • 更新:2024-07-29 15:11
  • 阅读:151

文件分享 shareWithSystem 获取资源失败

分类:uni-app

使用以下方式调用系统分享,分享底部系统弹窗可以出来,但是点击分享时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));
}
});
}
}
});

2024-07-09 15:25 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com

遇到相同问题。毫无头绪。

1***@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)

const shareIntent = new Intent();  
shareIntent.setAction(Intent.ACTION_SEND);  
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);  
// 指定文件类型   
//任意类型 "*/*" 分享到微信不能直接查看  
// 图片类型的 "image/*" 可以在微信上直接看  
// shareIntent.setType("*/*");  
shareIntent.setType("image/*");  
UTSAndroid.getUniActivity()!.startActivity(Intent.createChooser(shareIntent, "分享到..."));  

}

DCloud_heavensoft

DCloud_heavensoft

嗯,用uts就可以。插件市场也有封装好插件可用

1***@qq.com

1***@qq.com (作者) - 90后老男人

还是会不好用 c

1***@qq.com

1***@qq.com (作者) - 90后老男人

不好用的原因好像是 在测试手机上分享,但是测试手机没有登录微信

要回复问题请先登录注册