sanitize static method
Makes name safe on every file system: no separators or reserved characters, no
Windows device names, no leading dots, and at most 180 characters.
Implementation
static String sanitize(String name) {
String result = name.replaceAll(RegExp(r'[<>:"/\\|?*\x00-\x1F]'), "_").trim();
result = result.replaceAll(RegExp(r"^[.\s]+|[.\s]+$"), "");
if (result.isEmpty) result = "download";
final String stem = result.split(".").first.toUpperCase();
if (_reserved.contains(stem)) result = "_$result";
if (result.length > 180) {
final String extension = extensionOf(result);
result = "${result.substring(0, 180 - extension.length - 1)}.$extension";
}
return result;
}