flutter_file_picker/lib/src/platform_file.dart

42 lines
1.0 KiB
Dart
Raw Normal View History

import 'dart:async';
import 'dart:typed_data';
class PlatformFile {
const PlatformFile({
this.path,
this.name,
this.bytes,
this.readStream,
2020-09-09 23:52:45 +00:00
this.size,
});
PlatformFile.fromMap(Map data, {this.readStream})
2020-09-09 23:52:45 +00:00
: this.path = data['path'],
this.name = data['name'],
this.bytes = data['bytes'],
2020-09-11 17:37:45 +00:00
this.size = data['size'];
2020-09-09 23:52:45 +00:00
/// The absolute path for a cached copy of this file. It can be used to create a
/// file instance with a descriptor for the given path.
/// ```
/// final File myFile = File(platformFile.path);
/// ```
2020-11-21 21:26:32 +00:00
final String? path;
/// File name including its extension.
2020-11-21 21:26:32 +00:00
final String? name;
2020-09-09 23:52:45 +00:00
/// Byte data for this file. Particurlarly useful if you want to manipulate its data
/// or easily upload to somewhere else.
2020-11-21 21:26:32 +00:00
final Uint8List? bytes;
/// File content as stream
2020-11-21 21:26:32 +00:00
final Stream<List<int>>? readStream;
/// The file size in bytes.
2020-11-21 21:26:32 +00:00
final int? size;
2020-09-09 23:52:45 +00:00
/// File extension for this file.
2020-11-21 21:26:32 +00:00
String? get extension => name?.split('.').last;
}