{"id":22104817,"url":"https://github.com/nemeslaszlo/cloud.file.storage.manager","last_synced_at":"2025-07-25T02:31:41.174Z","repository":{"id":92893038,"uuid":"495076744","full_name":"NemesLaszlo/Cloud.File.Storage.Manager","owner":"NemesLaszlo","description":"Provides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file append and delete.","archived":false,"fork":false,"pushed_at":"2025-07-21T16:49:00.000Z","size":329,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T17:30:19.783Z","etag":null,"topics":["amazon-s3","azure","azure-blob","azure-blob-storage","box","box-storage","dotnet","fileoperations","minio","minio-storage","physical-storage","s3-storage"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/profiles/NemesLaszlo","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/NemesLaszlo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-22T14:02:01.000Z","updated_at":"2025-07-21T16:49:04.000Z","dependencies_parsed_at":"2024-11-20T13:02:00.021Z","dependency_job_id":null,"html_url":"https://github.com/NemesLaszlo/Cloud.File.Storage.Manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NemesLaszlo/Cloud.File.Storage.Manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NemesLaszlo%2FCloud.File.Storage.Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NemesLaszlo%2FCloud.File.Storage.Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NemesLaszlo%2FCloud.File.Storage.Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NemesLaszlo%2FCloud.File.Storage.Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NemesLaszlo","download_url":"https://codeload.github.com/NemesLaszlo/Cloud.File.Storage.Manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NemesLaszlo%2FCloud.File.Storage.Manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266944272,"owners_count":24010485,"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","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["amazon-s3","azure","azure-blob","azure-blob-storage","box","box-storage","dotnet","fileoperations","minio","minio-storage","physical-storage","s3-storage"],"created_at":"2024-12-01T06:35:12.190Z","updated_at":"2025-07-25T02:31:41.158Z","avatar_url":"https://github.com/NemesLaszlo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud File Storage Manager\n\n## Azure Blob Storage\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `Azure (Azure Blob Storage)` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"AzureStorageSettings\": {\n    \"Protocol\": \"https\",\n    \"AccountName\": \"\",\n    \"AccountKey\": \"\",\n    \"ContainerName\": \"\",\n    // Optional - Leave empty to use azure default url, otherwise provide the hostname (without the protocol and path) of the endpoint\n    \"Url\": \"\"\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, AzureCloudFileStorageManager\u003e(services =\u003e new AzureCloudFileStorageManager(new AzureCloudFileStorageManagerOptions()\n{\n    AccountName = config.GetSection(\"AzureStorageSettings\").GetValue\u003cstring\u003e(\"AccountName\"),\n    AccountKey = config.GetSection(\"AzureStorageSettings\").GetValue\u003cstring\u003e(\"AccountKey\"),\n    ContainerName = config.GetSection(\"AzureStorageSettings\").GetValue\u003cstring\u003e(\"ContainerName\"),\n    Protocol = config.GetSection(\"AzureStorageSettings\").GetValue\u003cstring\u003e(\"Protocol\"),\n    Url = config.GetSection(\"AzureStorageSettings\").GetValue\u003cstring\u003e(\"Url\")\n}));  \n\n```\n\n## Amazon S3\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `Amazon S3` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"AmazonS3torageSettings\": {\n    \"IsAnonymus\": false,\n    \"AccessKey\": \"\",\n    \"SecretKey\": \"\",\n    \"BucketName\": \"\",\n    \"BucketRegion\": \"\"\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, AmazonS3FileStorageManager\u003e(services =\u003e new AmazonS3FileStorageManager(new AmazonS3FileStorageManagerOptions()\n{\n    IsAnonymus = config.GetSection(\"AmazonS3torageSettings\").GetValue\u003cbool\u003e(\"IsAnonymus\"),\n    AccessKey = config.GetSection(\"AmazonS3torageSettings\").GetValue\u003cstring\u003e(\"AccessKey\"),\n    SecretKey = config.GetSection(\"AmazonS3torageSettings\").GetValue\u003cstring\u003e(\"SecretKey\"),\n    BucketName = config.GetSection(\"AmazonS3torageSettings\").GetValue\u003cstring\u003e(\"BucketName\"),\n    BucketRegion = config.GetSection(\"AmazonS3torageSettings\").GetValue\u003cstring\u003e(\"BucketRegion\")\n}));  \n\n```\n\n## Minio (Amazon S3 Compatible Cloud Storage)\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `Minio .NET SDK for Amazon S3 Compatible Cloud Storage.` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"MinioStorageSettings\": {\n    \"HostAndPort\": \"\",\n    \"UseSSL\": false,\n    \"AccessKey\": \"\",\n    \"SecretKey\": \"\",\n    \"BucketName\": \"\"\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, MinioCloudFileStorageManager\u003e(services =\u003e new MinioCloudFileStorageManager(new MinioCloudFileStorageManagerOptions()\n{\n    HostAndPort = config.GetSection(\"MinioStorageSettings\").GetValue\u003cstring\u003e(\"HostAndPort\"),\n    UseSSL = config.GetSection(\"MinioStorageSettings\").GetValue\u003cbool\u003e(\"UseSSL\"),\n    AccessKey = config.GetSection(\"MinioStorageSettings\").GetValue\u003cstring\u003e(\"AccessKey\"),\n    SecretKey = config.GetSection(\"MinioStorageSettings\").GetValue\u003cstring\u003e(\"SecretKey\"),\n    BucketName = config.GetSection(\"MinioStorageSettings\").GetValue\u003cstring\u003e(\"BucketName\")\n}));  \n\n```\n\n## Physical\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `Physical` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"PhysicalStorageSettings\": {\n    \"RootDirectoryPath\": \"\",\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, PhysicalFileStorage\u003e(services =\u003e new PhysicalFileStorage(new PhysicalFileStorageOptions()\n{\n    RootDirectoryPath = config.GetSection(\"PhysicalStorageSettings\").GetValue\u003cstring\u003e(\"RootDirectoryPath\")\n}));  \n\n```\n\n## Box\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `Box` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"BoxStorageSettings\": {\n    \"ClientId\": \"\",\n    \"ClientSecret\": \"\",\n    \"EnterpriseId\": \"\",\n    \"PublicKeyId\": \"\",\n    \"PrivateKey\": \"\",\n    \"Passphrase\": \"\",\n    \"RootFolderId\": \"0\"\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, BoxFileStorageManager\u003e(services =\u003e new BoxFileStorageManager(new BoxFileStorageManagerOptions()\n{\n    ClientId = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"ClientId\"),\n    ClientSecret = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"ClientSecret\"),\n    EnterpriseId = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"EnterpriseId\"),\n    PublicKeyId = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"PublicKeyId\"),\n    PrivateKey = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"PrivateKey\"),\n    Passphrase = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"Passphrase\"),\n    RootFolderId = config.GetSection(\"BoxStorageSettings\").GetValue\u003cstring\u003e(\"RootFolderId\")\n}));\n\n```\n\n## SharePoint\n\nProvides complete implementation to handle easily cloud file storage operations like get informations about files, reading, downloadURL generation, file update, file move and delete. Primarily for `SharePoint` right now.\n\n### Configuration\n\nLet's add a section to the `appsettings.json`\n\n```\n\"SharePointStorageSettings\": {\n    // The SharePoint site URL (e.g., https://tenant.sharepoint.com/sites/sitename)\n    \"SiteUrl\": \"\",\n    \"DocumentLibraryName\": \"\",\n    \"TenantId\": \"\",\n    \"ClientId\": \"\",\n    \"ClientSecret\": \"\",\n    // Optional: The folder name where the files will be stored, like: \"MainFolder/WorkFolder/Test\"\n    \"WorkFolderPath\": \"\"\n}\n```\nIn the application, configure this settings part\n\n```cs\nservices.AddSingleton\u003cICloudFileStorageManager, SharePointCloudFileStorageManager\u003e(services =\u003e new SharePointCloudFileStorageManager(new SharePointCloudFileStorageManagerOptions()\n{\n    SiteUrl = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"SiteUrl\"),\n    DocumentLibraryName = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"DocumentLibraryName\"),\n    TenantId = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"TenantId\"),\n    ClientId = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"ClientId\"),\n    ClientSecret = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"ClientSecret\")\n    WorkFolderPath = config.GetSection(\"SharePointStorageSettings\").GetValue\u003cstring\u003e(\"WorkFolderPath\")\n}));  \n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemeslaszlo%2Fcloud.file.storage.manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemeslaszlo%2Fcloud.file.storage.manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemeslaszlo%2Fcloud.file.storage.manager/lists"}