Initial commit
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,66 @@
|
||||
<p align="center">
|
||||
<img width="300" src=".github/supabase-storage.png"/>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://github.com/supabase-community/storage-csharp/workflows/Build%20And%20Test/badge.svg"/>
|
||||
<a href="https://www.nuget.org/packages/supabase-storage-csharp/">
|
||||
<img src="https://img.shields.io/nuget/vpre/supabase-storage-csharp"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
Integrate your [Supabase](https://supabase.io) 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)
|
||||
|
||||
```c#
|
||||
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!
|
||||
|
||||
<a href="https://github.com/supabase-community/storage-csharp/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=supabase-community/storage-csharp" />
|
||||
</a>
|
||||
|
||||
Made with [contrib.rocks](https://contrib.rocks/preview?repo=supabase-community%storage-csharp).
|
||||
|
||||
## Contributing
|
||||
|
||||
We are more than happy to have contributions! Please submit a PR.
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9121a279be0ec64478a5b499b1e221a7
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5521a79b4acd1013574150313315a0ec9093eca0072a4b1f6052ac1ef0c988c9
|
||||
size 5771
|
||||
@@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9c57a60dcadfabd4b83e1d0394ca642e
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2cd1b0d866b1b80469b99ef6640b0cb7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1eea43eb76b7a19469fdb8ab50d78cc7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd238dbd4259d9e4c9cfed379c6bc0df
|
||||
labels:
|
||||
- NuGetForUnity
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 3
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+435
@@ -0,0 +1,435 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Supabase.Storage</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="P:Supabase.Storage.Bucket.Public">
|
||||
<summary>
|
||||
The visibility of the bucket. Public buckets don't require an authorization token to download objects,
|
||||
but still require a valid token for all other operations. By default, buckets are private.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.Bucket.FileSizeLimit">
|
||||
<summary>
|
||||
Specifies the file size limit that this bucket can accept during upload.
|
||||
|
||||
Expects a string value following a format like: '1kb', '50mb', '150kb', etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.Bucket.AllowedMimes">
|
||||
<summary>
|
||||
Specifies the allowed mime types that this bucket can accept during upload.
|
||||
|
||||
Expects a List of values such as: ['image/jpeg', 'image/png', etc]
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.BucketUpsertOptions.Public">
|
||||
<summary>
|
||||
The visibility of the bucket. Public buckets don't require an authorization token to download objects,
|
||||
but still require a valid token for all other operations. By default, buckets are private.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.BucketUpsertOptions.FileSizeLimit">
|
||||
<summary>
|
||||
Specifies the file size limit that this bucket can accept during upload.
|
||||
|
||||
Expects a string value following a format like: '1kb', '50mb', '150kb', etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.BucketUpsertOptions.AllowedMimes">
|
||||
<summary>
|
||||
Specifies the allowed mime types that this bucket can accept during upload.
|
||||
|
||||
Expects a List of values such as: ['image/jpeg', 'image/png', etc]
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.Client.From(System.String)">
|
||||
<summary>
|
||||
Perform a file operation in a bucket
|
||||
</summary>
|
||||
<param name="id">Bucket Id</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Supabase.Storage.ClientOptions">
|
||||
<summary>
|
||||
Options that can be passed into the Storage Client
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Supabase.Storage.ClientOptions.HttpUploadTimeout">
|
||||
<summary>
|
||||
The timespan to wait before an HTTP Upload Timesout
|
||||
See: https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=net-7.0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Supabase.Storage.ClientOptions.HttpDownloadTimeout">
|
||||
<summary>
|
||||
The timespan to wait before an HTTP Upload Timesout
|
||||
See: https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=net-7.0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Supabase.Storage.ClientOptions.HttpRequestTimeout">
|
||||
<summary>
|
||||
The timespan to wait before an HTTP Client request times out.
|
||||
See: https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=net-7.0
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Supabase.Storage.Extensions.HttpClientProgress">
|
||||
<summary>
|
||||
Adapted from: https://gist.github.com/dalexsoto/9fd3c5bdbe9f61a717d47c5843384d11
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.Extensions.TransformOptionsExtension.ToQueryCollection(Supabase.Storage.TransformOptions)">
|
||||
<summary>
|
||||
Transforms options into a NameValueCollecto to be used with a <see cref="T:System.UriBuilder"/>
|
||||
</summary>
|
||||
<param name="transform"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.FileObject.IsFolder">
|
||||
<summary>
|
||||
Flag representing if this object is a folder, all properties will be null but the name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.Helpers.Initialize(Supabase.Storage.ClientOptions)">
|
||||
<summary>
|
||||
Initializes HttpClients with their appropriate timeouts. Called at the initialization of StorageBucketApi.
|
||||
</summary>
|
||||
<param name="options"></param>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.Helpers.MakeRequest``1(System.Net.Http.HttpMethod,System.String,System.Object,System.Collections.Generic.Dictionary{System.String,System.String})">
|
||||
<summary>
|
||||
Helper to make a request using the defined parameters to an API Endpoint and coerce into a model.
|
||||
</summary>
|
||||
<typeparam name="T"></typeparam>
|
||||
<param name="method"></param>
|
||||
<param name="url"></param>
|
||||
<param name="data"></param>
|
||||
<param name="headers"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.Helpers.MakeRequest(System.Net.Http.HttpMethod,System.String,System.Object,System.Collections.Generic.Dictionary{System.String,System.String},System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Helper to make a request using the defined parameters to an API Endpoint.
|
||||
</summary>
|
||||
<param name="method"></param>
|
||||
<param name="url"></param>
|
||||
<param name="data"></param>
|
||||
<param name="headers"></param>
|
||||
<param name="cancellationToken"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.SearchOptions.Limit">
|
||||
<summary>
|
||||
Number of files to be returned
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.SearchOptions.Offset">
|
||||
<summary>
|
||||
Starting position of query
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.SearchOptions.Search">
|
||||
<summary>
|
||||
The search string to filter files by
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.SearchOptions.SortBy">
|
||||
<summary>
|
||||
Column to sort by. Can be any colum inside of a <see cref="T:Supabase.Storage.FileObject"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.StorageBucketApi.GetHeaders">
|
||||
<summary>
|
||||
Function that can be set to return dynamic headers.
|
||||
|
||||
Headers specified in the constructor will ALWAYS take precendece over headers returned by this function.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.ListBuckets">
|
||||
<summary>
|
||||
Retrieves the details of all Storage buckets within an existing product.
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.GetBucket(System.String)">
|
||||
<summary>
|
||||
Retrieves the details of an existing Storage bucket.
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.CreateBucket(System.String,Supabase.Storage.BucketUpsertOptions)">
|
||||
<summary>
|
||||
Creates a new Storage bucket
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="options"></param>
|
||||
<returns>Bucket Id</returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.UpdateBucket(System.String,Supabase.Storage.BucketUpsertOptions)">
|
||||
<summary>
|
||||
Updates a Storage bucket
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="options"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.EmptyBucket(System.String)">
|
||||
<summary>
|
||||
Removes all objects inside a single bucket.
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageBucketApi.DeleteBucket(System.String)">
|
||||
<summary>
|
||||
Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.
|
||||
You must first <see cref="M:Supabase.Storage.StorageBucketApi.EmptyBucket(System.String)"/>
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.GetPublicUrl(System.String,Supabase.Storage.TransformOptions)">
|
||||
<summary>
|
||||
A simple convenience function to get the URL for an asset in a public bucket.If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.
|
||||
This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset.
|
||||
</summary>
|
||||
<param name="path"></param>
|
||||
<param name="transformOptions"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.CreateSignedUrl(System.String,System.Int32,Supabase.Storage.TransformOptions)">
|
||||
<summary>
|
||||
Create signed url to download file without requiring permissions. This URL can be valid for a set number of seconds.
|
||||
</summary>
|
||||
<param name="path">The file path to be downloaded, including the current file name. For example `folder/image.png`.</param>
|
||||
<param name="expiresIn">The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.</param>
|
||||
<param name="transformOptions"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.CreateSignedUrls(System.Collections.Generic.List{System.String},System.Int32)">
|
||||
<summary>
|
||||
Create signed URLs to download files without requiring permissions. These URLs can be valid for a set number of seconds.
|
||||
</summary>
|
||||
<param name="paths">paths The file paths to be downloaded, including the current file names. For example [`folder/image.png`, 'folder2/image2.png'].</param>
|
||||
<param name="expiresIn">The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute.</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.List(System.String,Supabase.Storage.SearchOptions)">
|
||||
<summary>
|
||||
Lists all the files within a bucket.
|
||||
</summary>
|
||||
<param name="path"></param>
|
||||
<param name="options"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Upload(System.String,System.String,Supabase.Storage.FileOptions,System.EventHandler{System.Single},System.Boolean)">
|
||||
<summary>
|
||||
Uploads a file to an existing bucket.
|
||||
</summary>
|
||||
<param name="localFilePath">File Source Path</param>
|
||||
<param name="supabasePath">The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.</param>
|
||||
<param name="options"></param>
|
||||
<param name="onProgress"></param>
|
||||
<param name="inferContentType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Upload(System.Byte[],System.String,Supabase.Storage.FileOptions,System.EventHandler{System.Single},System.Boolean)">
|
||||
<summary>
|
||||
Uploads a byte array to an existing bucket.
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<param name="supabasePath">The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.</param>
|
||||
<param name="options"></param>
|
||||
<param name="onProgress"></param>
|
||||
<param name="inferContentType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.UploadToSignedUrl(System.String,Supabase.Storage.UploadSignedUrl,Supabase.Storage.FileOptions,System.EventHandler{System.Single},System.Boolean)">
|
||||
<summary>
|
||||
Uploads a file to using a pre-generated Signed Upload Url
|
||||
</summary>
|
||||
<param name="localFilePath">File Source Path</param>
|
||||
<param name="signedUrl"></param>
|
||||
<param name="options"></param>
|
||||
<param name="onProgress"></param>
|
||||
<param name="inferContentType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.UploadToSignedUrl(System.Byte[],Supabase.Storage.UploadSignedUrl,Supabase.Storage.FileOptions,System.EventHandler{System.Single},System.Boolean)">
|
||||
<summary>
|
||||
Uploads a byte array using a pre-generated Signed Upload Url
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<param name="signedUrl"></param>
|
||||
<param name="options"></param>
|
||||
<param name="onProgress"></param>
|
||||
<param name="inferContentType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Update(System.String,System.String,Supabase.Storage.FileOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Replaces an existing file at the specified path with a new one.
|
||||
</summary>
|
||||
<param name="localFilePath">File source path.</param>
|
||||
<param name="supabasePath">The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.</param>
|
||||
<param name="options">HTTP headers.</param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Update(System.Byte[],System.String,Supabase.Storage.FileOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Replaces an existing file at the specified path with a new one.
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<param name="supabasePath">The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.</param>
|
||||
<param name="options">HTTP headers.</param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Move(System.String,System.String)">
|
||||
<summary>
|
||||
Moves an existing file, optionally renaming it at the same time.
|
||||
</summary>
|
||||
<param name="fromPath">The original file path, including the current file name. For example `folder/image.png`.</param>
|
||||
<param name="toPath">The new file path, including the new file name. For example `folder/image-copy.png`.</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Download(System.String,System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a file from a private bucket. For public buckets, use <see cref="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})"/>
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="localPath"></param>
|
||||
<param name="transformOptions"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Download(System.String,System.String,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a file from a private bucket. For public buckets, use <see cref="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})"/>
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="localPath"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Download(System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a byte array from a private bucket to be used programmatically. For public buckets <see cref="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})"/>
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="transformOptions"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Download(System.String,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a byte array from a private bucket to be used programmatically. For public buckets <see cref="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})"/>
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a public file to the filesystem. This method DOES NOT VERIFY that the file is actually public.
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="localPath"></param>
|
||||
<param name="transformOptions"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.DownloadPublicFile(System.String,Supabase.Storage.TransformOptions,System.EventHandler{System.Single})">
|
||||
<summary>
|
||||
Downloads a byte array from a private bucket to be used programmatically. This method DOES NOT VERIFY that the file is actually public.
|
||||
</summary>
|
||||
<param name="supabasePath"></param>
|
||||
<param name="transformOptions"></param>
|
||||
<param name="onProgress"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Remove(System.String)">
|
||||
<summary>
|
||||
Deletes file within the same bucket
|
||||
</summary>
|
||||
<param name="path">A path to delete, for example `folder/image.png`.</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.Remove(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
Deletes files within the same bucket
|
||||
</summary>
|
||||
<param name="paths">An array of files to be deletes, including the path and file name. For example [`folder/image.png`].</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Supabase.Storage.StorageFileApi.CreateUploadSignedUrl(System.String)">
|
||||
<summary>
|
||||
Creates an upload signed URL. Use it to upload a file straight to the bucket without credentials
|
||||
</summary>
|
||||
<param name="supabasePath">The file path, including the current file name. For example `folder/image.png`.</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Supabase.Storage.TransformOptions.ResizeType">
|
||||
<summary>
|
||||
The resize mode can be cover, contain or fill. Defaults to cover.
|
||||
- Cover resizes the image to maintain it's aspect ratio while filling the entire width and height.
|
||||
- Contain resizes the image to maintain it's aspect ratio while fitting the entire image within the width and height.
|
||||
- Fill resizes the image to fill the entire width and height.If the object's aspect ratio does not match the width and height, the image will be stretched to fit.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.TransformOptions.Width">
|
||||
<summary>
|
||||
The width of the image in pixels.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.TransformOptions.Height">
|
||||
<summary>
|
||||
The height of the image in pixels.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.TransformOptions.Resize">
|
||||
<summary>
|
||||
The resize mode can be cover, contain or fill. Defaults to cover.
|
||||
- Cover resizes the image to maintain it's aspect ratio while filling the entire width and height.
|
||||
- Contain resizes the image to maintain it's aspect ratio while fitting the entire image within the width and height.
|
||||
- Fill resizes the image to fill the entire width and height.If the object's aspect ratio does not match the width and height, the image will be stretched to fit.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.TransformOptions.Quality">
|
||||
<summary>
|
||||
Set the quality of the returned image, this is percentage based, default 80
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.TransformOptions.Format">
|
||||
<summary>
|
||||
Specify the format of the image requested.
|
||||
|
||||
When using 'origin' we force the format to be the same as the original image,
|
||||
bypassing automatic browser optimisation such as webp conversion
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Supabase.Storage.UploadSignedUrl">
|
||||
<summary>
|
||||
Represents a Generated Upload Signed Url - can be used to upload a file without needing a logged in token or user.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.UploadSignedUrl.SignedUrl">
|
||||
<summary>
|
||||
The Full Signed Url
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.UploadSignedUrl.Token">
|
||||
<summary>
|
||||
The generated token
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Supabase.Storage.UploadSignedUrl.Key">
|
||||
<summary>
|
||||
The Key that can be uploaded to (the supabase filename)
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc87927fdf78ece47bad8881a8b06790
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>supabase-storage-csharp</id>
|
||||
<version>1.4.0</version>
|
||||
<title>Supabase Storage</title>
|
||||
<authors>Joseph Schultz <joseph@acupofjose.com></authors>
|
||||
<owners>Joseph Schultz <joseph@acupofjose.com></owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
|
||||
<icon>icon.png</icon>
|
||||
<projectUrl>https://github.com/supabase-community/storage-csharp</projectUrl>
|
||||
<iconUrl>https://avatars.githubusercontent.com/u/54469796?s=200&v=4</iconUrl>
|
||||
<description>A C# implementation of the Supabase Storage client</description>
|
||||
<copyright>MIT</copyright>
|
||||
<tags>supabase, storage</tags>
|
||||
<repository type="git" url="https://github.com/supabase-community/storage-csharp" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="MimeMapping" version="2.0.0" exclude="Build,Analyzers" />
|
||||
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
|
||||
<dependency id="supabase-core" version="0.0.3" exclude="Build,Analyzers" />
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e78501ef1f65c444bf575780be9ff82
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user