因此,我需要使用TypeScript上的Web Share API共享base64图像字符串。
如果我将base64字符串作为url参数传递,可以这样吗:
var base64url = "data:image/octet-stream;base64,/9j/4AAQSkZ...."
navigator.share({
title: 'Hello',
text: 'Check out this image!',
url: base64url ,
})
还是我需要具有文件数组并使用Web Share API v2?如果是这样,我该如何实现,我所拥有的只是一个base64字符串,而我发现的示例太混乱了。
在这件事上我是菜鸟,所以将不胜感激!
答案 0 :(得分:1)
如评论中所述,在url字段中共享url最终不会为您的用户带来好结果。
您可以将Web Share API v2与以下代码一起使用:
const base64url = "data:image/octet-stream;base64,/9j/4AAQSkZ...."
const blob = await (await fetch(base64url)).blob();
const file = new File([blob], 'fileName.png', { type: blob.type });
navigator.share({
title: 'Hello',
text: 'Check out this image!',
files: [file],
})
您可能需要根据实际的图片网址来调整扩展名和mime类型。
请注意,尽管v2当前仅在Android Chrome上可用(我找不到很好的资源,但我只是在一个项目中做到了)。 您可以使用navigator.canShare()在运行时检查可用性。