{"id":22281285,"url":"https://github.com/iowacomputergurus/aspnetcore.utilities.cloudstorage","last_synced_at":"2025-07-28T20:30:40.071Z","repository":{"id":43410243,"uuid":"167108470","full_name":"IowaComputerGurus/aspnetcore.utilities.cloudstorage","owner":"IowaComputerGurus","description":"A collection of cloud storage utilities to assist with the management of files for cloud upload.","archived":false,"fork":false,"pushed_at":"2024-11-25T10:18:31.000Z","size":190,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-11-30T15:16:50.835Z","etag":null,"topics":["azure","hacktoberfest","netcore","netcore-cloudstorage"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IowaComputerGurus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"mitchelsellers"}},"created_at":"2019-01-23T03:11:49.000Z","updated_at":"2024-11-18T14:59:43.000Z","dependencies_parsed_at":"2024-05-06T10:52:30.002Z","dependency_job_id":"7e2f7b16-2a39-439b-af27-a91687e4560c","html_url":"https://github.com/IowaComputerGurus/aspnetcore.utilities.cloudstorage","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.cloudstorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.cloudstorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.cloudstorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IowaComputerGurus%2Faspnetcore.utilities.cloudstorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IowaComputerGurus","download_url":"https://codeload.github.com/IowaComputerGurus/aspnetcore.utilities.cloudstorage/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227952062,"owners_count":17846351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","hacktoberfest","netcore","netcore-cloudstorage"],"created_at":"2024-12-03T16:16:43.707Z","updated_at":"2024-12-03T16:16:44.810Z","avatar_url":"https://github.com/IowaComputerGurus.png","language":"C#","funding_links":["https://github.com/sponsors/mitchelsellers"],"categories":[],"sub_categories":[],"readme":"# aspnetcore.utilities.cloudstorage ![](https://img.shields.io/github/license/iowacomputergurus/aspnetcore.utilities.cloudstorage.svg)\n\n![Build Status](https://github.com/IowaComputerGurus/aspnetcore.utilities.cloudstorage/actions/workflows/ci-build.yml/badge.svg)\n\nThis project provides a number of helpful wrappers around the Microsoft Azure Storage API's to allow for more rapid development.  Including the ability to do single-line upload of files from an IFormFile into Azure Blob Storage.\n\n## NuGet Status (ICG.AspNetCore.Utilities.CloudStorage)\n\n![](https://img.shields.io/nuget/v/icg.aspnetcore.utilities.cloudstorage.svg) ![](https://img.shields.io/nuget/dt/icg.aspnetcore.utilities.cloudstorage.svg)\n\n## SonarCloud Analysis\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=IowaComputerGurus_aspnetcore.utilities.cloudstorage\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=IowaComputerGurus_aspnetcore.utilities.cloudstorage)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=IowaComputerGurus_aspnetcore.utilities.cloudstorage\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=IowaComputerGurus_aspnetcore.utilities.cloudstorage)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=IowaComputerGurus_aspnetcore.utilities.cloudstorage\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=IowaComputerGurus_aspnetcore.utilities.cloudstorage)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=IowaComputerGurus_aspnetcore.utilities.cloudstorage\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=IowaComputerGurus_aspnetcore.utilities.cloudstorage)\n\n## Using ICG.AspNetCore.Utilities.CloudStorage\n\n### Installation\n\nInstall from NuGet\n\n``` powershell\nInstall-Package ICG.AspNetCore.Utilities.CloudStorage\n```\n### Register Dependencies\n\nInside of of your project's Startus.cs within the RegisterServices method add this line of code.\n\n``` c#\nservices.UseIcgNetCoreUtilities(Configuration);\nservices.UseIcgAspNetCoreUtilitiesCloudStorage();\n```\n\n\n## Configure\n\nLastly, before using you will need to configure your storage options.  An example configuation is below.\n\n``` json\n  \"AzureCloudStorageOptions\": {\n    \"StorageConnectionString\": \"\u003cYour Storage Connection String\u003e\",\n    \"RootClientPath\": \"\u003cEither your CDN Endpoint, or Path to Blob \u003e\",\n    \"DefaultSASTokenDurationMinutes\": 60\n  }\n```\n\n\u003e [!NOTE]\n\u003e Root client path could be https://youraccount.blob.core.windows.net or if you have configured a CDN your CDN path.  This is what will be used to provide the return path of uploaded objects\n\n\u003e [!WARNING]\n\u003e Be sure to consider security of these credentials, this library fully supports `IOptions` so you can utilize environment variables, the `appsettings.json` file or any other mechanism that injects values to Configuration\n\n### Included Features\n\n| Object | Purpose |\n| ---- | --- |\n| IAzureCloudStorageProvider | Provides the tools necessary to upload objects to Azure |\n| IMimeTypeMapper | An implementation of a mime-type mapper, copied from similar code in .NET Core, but moved internal to limit dependencies\n\n## Included Dependencies\n\nUsage of this package will automatically add the following additional NuGet packages\n\n* ICG.AspNetCore.Utilities - Used to provide the IUrlSlugProvider for one overload in the ICloudStorageProvider implementation\n* Azure.Storage.Blobs - Used to actually communicate with Azure.\n\nDetailed information can be found in the XML Comment documentation for the objects, we are working to add to this document as well.\n\n## Version 5.x Breaking Change\n\nTo adhere to Microsoft API standards the application has been updated to require the usage of a Storage Connection String, rather than a Account Name and Access Key.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.cloudstorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.cloudstorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiowacomputergurus%2Faspnetcore.utilities.cloudstorage/lists"}