legalizeFilenameUniversal function
Sanitizes the filename for both Windows and Posix systems.
This function is a combination of legalizeWindowsFilename, legalizePosixFilename and legalizeHFSFilename.
replacement is used to replace illegal characters.
If the filename is empty after sanitization, it will be replaced with placeholder.
It is recommended to not use an empty replacement and an empty placeholder as it may result in an empty filename.
Implementation
String legalizeFilenameUniversal(String filename, {String replacement = '_', String placeholder = 'untitled'}) {
var result = filename;
result = legalizeWindowsFilename(result, replacement: replacement, placeholder: placeholder);
result = legalizePosixFilename(result, replacement: replacement, placeholder: placeholder);
result = legalizeHFSFilename(result, replacement: replacement, placeholder: placeholder);
return result;
}