奇怪的文件类型时,试图分享小部件截图Flutter

am46iovg  于 2023-05-01  发布在  Flutter
关注(0)|答案(1)|浏览(75)

我试图使用Flutter Screenshot packageShare Plus package共享小部件的图像。
我终于以为我把它都工作了,但当我测试它时,我得到了这个:

我看不像是图像文件类型。下面是我对这两个包所做的:

ElevatedButton.icon(
            onPressed: () async {
              final imageFile = await screenshotController.capture();
              XFile file = XFile.fromData(imageFile!);
              Share.shareXFiles([file]);
            },
            icon: const Icon(Icons.share),
            label: const Text("Share Image"),
          ),
j2cgzkjk

j2cgzkjk1#

恕我直言,screenshotController.capture()将返回一个Uint8List image类型,这就是为什么XFile将其视为预期的二进制类型。我建议你先保存图片,然后上传。

_screenshotController.capture().then((Uint8List image) async {
  if (image != null) {
    final directory = await getApplicationDocumentsDirectory();
    final imagePath = await File('${directory.path}/image.png').create();
    await imagePath.writeAsBytes(image);

    /// Share Plugin
    await Share.shareFiles([XFile(imagePath)]);
  }
});

相关问题