使用react本地共享共享无法共享图片、链接和标题



我使用react-native-share在不同的社交平台上共享内容。对于纯文本,它运行良好。但当我包含图片+消息(包含链接(+标题时,它就不起作用了。

这是我使用的代码:

let imagePath = null;
RNFetchBlob.config({
fileCache: true,
})
.fetch('GET', FILE_URL)
.then((resp) => {
imagePath = resp.path();
return resp.readFile('base64');
})
.then(async (base64Str) => {
const content = `Sharing Link ${link}`;
const base64Data = `data:image/jpeg;base64,${base64Str}`;
const shareOption = {
message:content,
url: base64Data,
title: 'This is title',
type: 'image/jpeg',
};
await Share.open(shareOption);
return RNFetchBlob.fs.unlink(imagePath);
});
} catch (error) {
console.error(error);
}

我尝试了它的不同变体,我在SO和其他链接上发现了什么。但没有一个奏效。我尝试过但没有成功:

  1. 共享图像的URL而不是base64-只共享图像,消息被删除。在whats应用程序中,图像链接不会转换为图像
  2. 通过删除消息密钥并只传递url。(通过这种方式,图片被分享。但它没有相关性。因为我无法设置任何类型的消息或链接(

我不确定这里缺少什么。

这是一个有趣的项目。我不得不提前承认,这有点不能回答。对此我深表歉意,但我想让你知道我的发现,因为分享我的研究似乎比把它记在脑子里更有用,而且它太大了,无法发表评论。

所以我看了一下这个项目的github问题,看看你的问题是否有记录。有93个悬而未决的问题,很多人抱怨各种事情在结合这些变量(消息,base64(时没有像你想象的那样工作,尤其是在iOS上。你有没有看过他们的问题日志,看看是否能找到更好的细节?你在用iOS吗?

以下是一些似乎还没有公开的内容,它们抱怨的几乎正是你发布的问题。有些提供变通办法。有些会导致死胡同。如果你还没有读过这些,你应该跟上进度。如果你知道这一切,也许我会把这篇文章留给后人,如果其他人看到的话

https://github.com/react-native-share/react-native-share/issues/760

https://github.com/react-native-share/react-native-share/issues/966

https://github.com/react-native-share/react-native-share/issues/831

https://github.com/react-native-share/react-native-share/issues/1025

最新更新