我正在尝试通过各种可用设备的应用程序(例如whatsApp,skype,电子邮件等)共享从相机或图库中获取的图像到其他设备 我发现提供了“共享”功能,但根据我的知识和研究,它只允许共享文本数据。
是否有人想知道通过本机应用程序共享图像。
提前致谢。
答案 0 :(得分:1)
您还可以通过url
参数发送包含Share的图片:
url: "data:image/png;base64,<base64_data>"
干杯
答案 1 :(得分:1)
我使用react-native-share
插件完成了
步骤:
阅读here以获取其余的代码...非常简单,直接。
如果您想在base64
中共享图片,则必须像这样通过:
"data:image/png;base64,BASE STRING"
如果要直接从源代码共享,则必须像这样通过:
url: "file://<file_path>",
希望这会有所帮助:)
答案 2 :(得分:0)
解决方案:
dwFile(file) {
let imagePath = null;
RNFetchBlob.config({
fileCache: true
})
.fetch("GET", file)
// the image is now dowloaded to device's storage
.then(resp => {
// the image path you can use it directly with Image component
imagePath = resp.path();
return resp.readFile("base64");
})
.then(async base64Data => {
var base64Data =
数据:image / png; base64,+ base64Data;
// here's base64 encoded image
await Share.open({ url: base64Data });
// remove the file from storage
return fs.unlink(imagePath);
});
}
希望这会有所帮助。
答案 3 :(得分:0)
从Expo的SDK33开始,即使您使用的是Android,也可以使用Expo Sharing将任何类型的文件共享给可以处理其文件类型的其他应用。没有分离或任何东西。
请参见https://docs.expo.io/versions/latest/sdk/sharing/
用法非常简单:
import * as Sharing from 'expo-sharing'; // Import the library
Sharing.shareAsync(url) // And share your file !
答案 4 :(得分:0)
您不能在大多数社交媒体或平台上同时共享图像和URL。为此,您需要一个可通过API创建的可共享图像链接。
答案 5 :(得分:-1)
我尝试如下:
import {
Share
} from 'react-native';
let shareImage = {
title: caption,//string
message: message,//string
url:imageUrl,// eg.'http://img.gemejo.com/product/8c/099/cf53b3a6008136ef0882197d5f5.jpg',
};
Share.open(shareImage).catch(err => console.log(err));
希望这对您有帮助。干杯!