SDNFile.fromMimeType constructor

SDNFile.fromMimeType({
  1. required Uint8List bytes,
  2. required String name,
  3. String? mimeType,
})

derivatives the MIME type from the bytes and correspondingly creates a SDNFile, SDNImageFile, SDNAudioFile or a SDNVideoFile

Implementation

factory SDNFile.fromMimeType(
    {required Uint8List bytes, required String name, String? mimeType}) {
  final msgType = msgTypeFromMime(mimeType ??
      lookupMimeType(name, headerBytes: bytes) ??
      'application/octet-stream');
  if (msgType == MessageTypes.Image) {
    return SDNImageFile(bytes: bytes, name: name, mimeType: mimeType);
  }
  if (msgType == MessageTypes.Video) {
    return SDNVideoFile(bytes: bytes, name: name, mimeType: mimeType);
  }
  if (msgType == MessageTypes.Audio) {
    return SDNAudioFile(bytes: bytes, name: name, mimeType: mimeType);
  }
  return SDNFile(bytes: bytes, name: name, mimeType: mimeType);
}