setBytes static method

Future<void> setBytes(
  1. String key,
  2. List<int> bytes, {
  3. UStorageBucket bucket = UStorageBucket.support,
  4. Duration? expireIn,
  5. String? mimeType,
  6. Map<String, String>? tags,
})

Implementation

static Future<void> setBytes(
  String key,
  List<int> bytes, {
  UStorageBucket bucket = UStorageBucket.support,
  Duration? expireIn,
  String? mimeType,
  Map<String, String>? tags,
}) async {
  await _ensure();
  _writable(bucket);
  final String path = _pathFor(bucket, key);
  if (bucket == UStorageBucket.vault) {
    final String staging = "$path.tmp";
    final UVaultWriter writer = await (await vaultKeys).create(staging);
    await writer.writeAt(0, bytes);
    await writer.finish(bytes.length);
    await writer.close();
    await _backend.move(staging, path);
  } else {
    await _backend.writeAll(path, bytes);
  }
  await _record(key, bucket, bytes.length, expireIn: expireIn, mimeType: mimeType, tags: tags);
}