saveToDownloadsAndroid static method
Implementation
static Future<bool> saveToDownloadsAndroid(
String content, String fileName, String extension) async {
try {
// 1. Ask user for a directory (if you don’t already have one)
// Use SAF to open a directory picker (with write permission)
SafDocumentFile? treeUri =
await safUtil.pickDirectory(writePermission: true);
if (treeUri == null) return false;
// 2. Prepare file name and MIME type
// e.g. fileName = “MyFile”, extension = “md” → fullName = “MyFile.md”
String fullName = "$fileName.$extension";
String mimeType = getMimeType(extension);
// Convert content to bytes
Uint8List data = Uint8List.fromList(utf8.encode(content));
// You can either write via `writeFileBytes` for small files, or via streaming
// For simplicity, use `writeFileBytes` here:
await safStream.writeFileBytes(
treeUri.uri,
fullName,
mimeType,
data,
overwrite: true,
);
return true;
} catch (e) {
return false;
}
}