Files
workavia-mail-front/model/lib/upload/file_info.dart
T
dab246 82964427b6 Set default mimeType is application/octet-stream
(cherry picked from commit 14b0ff98a8a24463dcd8401ebdcf7702bcb1edb2)
2023-10-09 12:12:24 +07:00

33 lines
885 B
Dart

import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:mime/mime.dart';
class FileInfo with EquatableMixin {
final String fileName;
final String filePath;
final int fileSize;
final Stream<List<int>>? readStream;
final Uint8List? bytes;
FileInfo(this.fileName, this.filePath, this.fileSize, {this.readStream, this.bytes});
factory FileInfo.empty() {
return FileInfo('', '', 0);
}
factory FileInfo.fromStream({
required Stream<List<int>> stream,
String? name,
int? size
}) {
return FileInfo(name ?? '', '', size ?? 0, readStream: stream);
}
String get fileExtension => fileName.split('.').last;
String get mimeType => lookupMimeType(kIsWeb ? fileName : filePath) ?? 'application/octet-stream';
@override
List<Object?> get props => [fileName, filePath, fileSize, readStream, bytes];
}