createSignedUploadUrl method

Future<SignedUploadURLResponse> createSignedUploadUrl(
  1. String path
)

Creates a signed upload URL.

Signed upload URLs can be used upload files to the bucket without further authentication. They are valid for one minute.

path The file path, including the current file name. For example folder/image.png.

Implementation

Future<SignedUploadURLResponse> createSignedUploadUrl(String path) async {
  final finalPath = _getFinalPath(path);

  final data = await _storageFetch.post(
    '$url/object/upload/sign/$finalPath',
    {},
    options: FetchOptions(headers: headers),
  );

  final signedUrl = Uri.parse('$url${data['url']}');

  final token = signedUrl.queryParameters['token'];

  if (token == null || token.isEmpty) {
    throw StorageException('No token returned by API');
  }

  return SignedUploadURLResponse(
    signedUrl: signedUrl.toString(),
    path: path,
    token: token,
  );

  //   return { data: { signedUrl: url.toString(), path, token }, error: null }
}