Image 附在flatter plugin Share.Share文件上的图像有时会消失。如何解决这个问题?
这是我从URL共享图像的代码。因此,它首先下载图像,然后使用共享表附加图像Image 附在flatter plugin Share.Share文件上的图像有时会消失。如何解决这个问题?,image,flutter,share,Image,Flutter,Share,这是我从URL共享图像的代码。因此,它首先下载图像,然后使用共享表附加图像 static Future<Null> onShareUrl({BuildContext context, String url, String title, String caption}) async { final RenderBox box = context.findRenderObject(); if (Platform.isAndroid) { var respo
static Future<Null> onShareUrl({BuildContext context, String url, String title, String caption}) async {
final RenderBox box = context.findRenderObject();
if (Platform.isAndroid) {
var response = await Network.getImage(url);
final documentDirectory = (await getExternalStorageDirectory()).path;
File imgFile = new File('$documentDirectory/attachment.png');
imgFile.deleteSync();
imgFile.writeAsBytesSync(response.bodyBytes);
await Share.shareFiles(["$documentDirectory/attachment.png"], mimeTypes: ["image/png"], subject: title, text: caption, sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
}
}
有一次,它生成了带有正确附件的共享表:
但另一次,结果是共享表没有附件:
准确地说,当共享表刚刚打开,并且仍然加载所有可能处理附件的应用程序时,它会显示附件。但几秒钟后,当下面的应用程序完全加载时,附件就不见了。这意味着附件已成功下载并附加,但在加载共享表时发生了一些情况,几秒钟后附件就消失了
这似乎是随机发生的。这种消失并非始终如一
这只需在同一会话中点击相同的操作按钮即可实现。代码上没有任何更改。我可以确认,始终从服务器成功检索图像
为什么会这样?如何防止附件消失?起初,我认为这是因为IO试图覆盖现有文件时出现了一些问题,所以我添加了deleteSync调用。但这个问题显然仍然存在
onShareUrl(context: context, url: imageUrl, title: "This is the image", caption: "Please check this image");