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;
  }
}