upload method
Upload a file. Overwrites if it already exists.
Implementation
Future<UploadResult> upload(
String bucket,
String path,
Uint8List data, {
String contentType = 'application/octet-stream',
}) async {
final uri = _uri(
'/storage/o/${Uri.encodeComponent(bucket)}/${Uri.encodeComponent(path)}',
);
final request = await _http.openUrl('PUT', uri);
request.headers.contentType = ContentType.parse(contentType);
request.contentLength = data.length;
request.add(data);
final response = await request.close();
final body = await response.transform(utf8.decoder).join();
if (response.statusCode >= 400) {
throw StorageException(_parseError(body, response.statusCode));
}
final json = jsonDecode(body) as Map<String, dynamic>;
return UploadResult.fromJson(json);
}