createFileInfoFromFile static method

FileInfo createFileInfoFromFile({
  1. required File file,
  2. String? fileName,
})

Implementation

static FileInfo createFileInfoFromFile({
  required File file,
  String? fileName,
}) {
  if (kIsWeb) {
    sbLog.e(StackTrace.current,
        'FileMessageCreateParams.withFile() is not supported for web');
    throw SendbirdException(
        message: 'FileMessageParams.withFile() is not supported for web');
  }

  String? fileMimeType;
  if (lookupMimeType(file.path) == null) {
    switch (getFileExtension(file.path)) {
      case '.HEIC':
        fileMimeType = 'image/heic';
        break;
      case '.HEIF':
        fileMimeType = 'image/heif';
        break;
      default:
        sbLog.w(StackTrace.current, 'Unknown file mimeType');
        break;
    }
  } else {
    fileMimeType = lookupMimeType(file.path);
  }

  return FileInfo.fromFile(
    fileName: fileName ?? 'file',
    file: file,
    mimeType: fileMimeType ?? 'application/octet-stream',
  );
}