saveToPublicDir method

Future<File> saveToPublicDir(
  1. String subDir, {
  2. bool autoName = true,
})

Save file to specific public subdirectory

Implementation

Future<File> saveToPublicDir(String subDir, {bool autoName = true}) async {
  final String fileName;

  if (autoName) {
    final ext = extension.isNotEmpty ? '.$extension' : '';
    final uuid = Uuid().v4();
    fileName = '$uuid$ext';
  } else {
    fileName = filename;
  }

  final file = File('lib/src/http/public/$subDir/$fileName');

  if (!await file.parent.exists()) {
    await file.parent.create(recursive: true);
  }

  final bytes = await _cachedBytes;
  await file.writeAsBytes(bytes);
  return file;
}