Flutter如何共享资产文件夹中的图像?

And*_*jcc 4 share image file-not-found flutter

使用此代码,我不断收到错误“ENOENT(没有此类文件或目录),null,null,null)”。如何共享资产文件夹中的文件?

Directory directory = await getApplicationDocumentsDirectory();
    Share.shareFiles(['${directory.path}/baws.png'], text: 'Great picture');
Run Code Online (Sandbox Code Playgroud)

Muh*_*tar 14

首先以字节形式获取图像并复制到临时文件。

      final bytes = await rootBundle.load('assets/image.jpg');
      final list = bytes.buffer.asUint8List();

      final tempDir = await getTemporaryDirectory();
      final file = await File('${tempDir.path}/image.jpg').create();
      file.writeAsBytesSync(list);
Run Code Online (Sandbox Code Playgroud)

然后使用share包来共享它,应该可以工作;

Share.shareFiles(['${file.path}'], text: 'Great picture');
Run Code Online (Sandbox Code Playgroud)