saveBytes static method
Implementation
static Future<void> saveBytes({
required Uint8List bytes,
required String fileName,
}) async {
final int dotIndex = fileName.lastIndexOf('.');
final String nameWithoutExt =
dotIndex != -1 ? fileName.substring(0, dotIndex) : fileName;
final String ext =
dotIndex != -1 ? fileName.substring(dotIndex + 1).toLowerCase() : '';
final MimeType mimeType = _getMimeTypeFromExtension(ext);
if (kIsWeb) {
final blob = html.Blob([bytes]); // ✅ no copy
final url = html.Url.createObjectUrlFromBlob(blob);
final anchor = html.AnchorElement(href: url)
..setAttribute('download', fileName)
..click();
html.Url.revokeObjectUrl(url);
} else {
final path = await FileSaver.instance.saveAs(
name: nameWithoutExt,
bytes: bytes,
fileExtension: ext,
mimeType: mimeType,
);
debugPrint("✅ File saved at: $path");
}
}