byteContent method
Future<void>
byteContent({
- required String title,
- required ByteData imageUrl,
- required String deepLinkUrl,
- VoidCallback? onReady,
Implementation
Future<void> byteContent({
required String title,
required ByteData imageUrl,
required String deepLinkUrl,
VoidCallback? onReady,
}) async {
try {
final sanitizedTitle = title.replaceAll(RegExp(r'[\\/:*?"<>|]'), '_');
final tempDir = await CkPath.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,
);
onReady?.call();
await SharePlus.instance.share(params);
file.delete();
} catch (e) {
ckError('Error sharing: $e');
}
}