2.3 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.3 KiB
		
	
	
	
	
	
	
	
Integrate your Supabase projects with C#.
NOTICE, As of v1.1.0
API Change [Breaking/Minor] Library no longer uses WebClient and instead leverages HttpClient. Progress events on Upload and Download are now handled with EventHandler<float> instead of WebClient EventHandlers.
Examples (using supabase-csharp)
public async void Main()
{
  // Make sure you set these (or similar)
  var url = Environment.GetEnvironmentVariable("SUPABASE_URL");
  var key = Environment.GetEnvironmentVariable("SUPABASE_KEY");
  await Supabase.Client.InitializeAsync(url, key);
  // The Supabase Instance can be accessed at any time using:
  //  Supabase.Client.Instance {.Realtime|.Auth|etc.}
  // For ease of readability we'll use this:
  var instance = Supabase.Client.Instance;
  // Interact with Supabase Storage
  var storage = Supabase.Client.Instance.Storage
  await storage.CreateBucket("testing")
  var bucket = storage.From("testing");
  var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase).Replace("file:", "");
  var imagePath = Path.Combine(basePath, "Assets", "supabase-csharp.png");
  await bucket.Upload(imagePath, "supabase-csharp.png");
  // If bucket is public, get url
  bucket.GetPublicUrl("supabase-csharp.png");
  // If bucket is private, generate url
  await bucket.CreateSignedUrl("supabase-csharp.png", 3600));
  // Download it!
  await bucket.Download("supabase-csharp.png", Path.Combine(basePath, "testing-download.png"));
}
Package made possible through the efforts of:
Join the ranks! See a problem? Help fix it!
Made with contrib.rocks.
Contributing
We are more than happy to have contributions! Please submit a PR.
