webFileOfBytes function
Since web doesn't have access to write files, we need to just keep things in memory...
Implementation
PFile? webFileOfBytes(dynamic file, {String? name, int? size}) {
name ??= puid();
if (file is Uint8List) {
return RawPFile.ofBytes(name, file);
} else if (file is List<int>) {
return RawPFile.ofBytes(name, Uint8List.fromList(file));
} else if (file is Stream) {
assert(size != null, "If you provide a stream, you must provide a length");
Stream<List<int>> _fileStream;
if (file is Stream<List<int>>) {
_fileStream = file;
} else if (file is Stream<int>) {
_fileStream = file.chunked(PFile.defaultChunkSize);
} else {
throw "Only support streams of List<int> or int";
}
return RawPFile.ofSingleStream(name, _fileStream, size: size!);
} else {
return null;
}
}