byteContent method

Future<void> byteContent({
  1. required String title,
  2. required ByteData imageUrl,
  3. required String deepLinkUrl,
})

Implementation

Future<void> byteContent({
  required String title,
  required ByteData imageUrl,
  required String deepLinkUrl,
}) async {
  try {
    final sanitizedTitle = title.replaceAll(RegExp(r'[\\/:*?"<>|]'), '_');
    final tempDir = await getTemporaryDirectory();
    final file = File('${tempDir.path}/$sanitizedTitle.jpg');
    await file.writeAsBytes(imageUrl.buffer.asUint8List());
    final xFile = XFile(file.path);
    final params = ShareParams(
      text: '$title\n$deepLinkUrl',
      files: [xFile],
      title: title,
      subject: title,
      fileNameOverrides: ['$sanitizedTitle.jpg'],
      previewThumbnail: xFile,
    );
    await SharePlus.instance.share(params);
    file.delete();
  } catch (e) {
    ckError('Error sharing: $e');
  }
}