AdaptiveFile.fromMap constructor

AdaptiveFile.fromMap(
  1. Map map
)

Creates an AdaptiveFile from a Map (e.g. from MethodChannel).

Implementation

factory AdaptiveFile.fromMap(Map<dynamic, dynamic> map) {
  final path = map['path'] as String?;
  final name = map['name'] as String? ?? (path != null ? _extractFileName(path) : 'file');
  final bytesList = map['bytes'];
  final Uint8List? bytes = bytesList is Uint8List
      ? bytesList
      : (bytesList is List<int> ? Uint8List.fromList(bytesList) : null);

  return AdaptiveFile(
    path: path,
    name: name,
    bytes: bytes,
    mimeType: map['mimeType'] as String? ?? _inferMimeType(name),
    width: map['width'] as int?,
    height: map['height'] as int?,
    size: map['size'] as int? ?? bytes?.lengthInBytes,
    lastModified: map['lastModified'] != null
        ? DateTime.fromMillisecondsSinceEpoch(map['lastModified'] as int)
        : null,
  );
}