我有一个应用程序,该应用程序显示一个图像给用户。该图像我保存在MySQL数据库中作为一个链接和文件夹中的图像到服务器。现在我试图让用户可以共享该图像到其他应用程序,如WhatsApp或Facebook从我的应用程序。
我使用share_plus 3.0.5软件包来实现:
share_plus 3.0.5
await Share.shareFiles([//////////////////here/////////////], text: 'Image Shared');
通过以下代码获取图像:
Future MakeShare() async {
var response = await http.get(
Uri.parse("https://*********/ImageMakeShare.php?ID=" + widget.IDS.toString()),
headers: {"Accept": "application/json"});
setState(() {
var convertDataToJson = json.decode(response.body);
dataImage = convertDataToJson['result'];
if (dataImage != null) {
imageMaine = dataImage[0]['image'];
}}); }
我试着让它像那样
await Share.shareFiles([imageMaine ], text: 'Image Shared');
但我得到错误:
E/flutter (10763): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(https:/*******0ee2e.png (No such file or directory), null, null, null)
现在我需要知道我如何才能使用户可以共享该图像到其他应用程序。
有人能帮我吗?
3条答案
按热度按时间q5lcpyga1#
您可以使用我的库**app_utils**,它允许您使用提供的参数启动Android和iOS。您可以将您的图像URI作为参数传递给其他应用程序。
例如
等待应用实用程序。启动应用程序(Android软件包:“com.whatsapp”,iosUrl方案:“whatsapp://",参数:{“图像URL”:“https://image.png“});
iswrvxsc2#
在此方法中传递用户名和网络图像URL,它将返回XFile。
像这样调用该方法,
xggvc2p63#
从documentation
shareFiles()
函数中可以看出,它需要一个String列表,指向设备上的一个本地路径。您传递的是一个URI(imageMaine),它不是一个本地路径,所以插件抛出异常。如果你想分享一个链接,那么你应该使用
share()
函数。如果你想分享一个文件,你应该先获取你的文件,然后用shareFiles函数发送它: