Mongo.BlobStorage
2024.1.1
Moved to Mongo.FileStorage
dotnet add package Mongo.BlobStorage --version 2024.1.1
NuGet\Install-Package Mongo.BlobStorage -Version 2024.1.1
<PackageReference Include="Mongo.BlobStorage" Version="2024.1.1" />
<PackageVersion Include="Mongo.BlobStorage" Version="2024.1.1" />
<PackageReference Include="Mongo.BlobStorage" />
paket add Mongo.BlobStorage --version 2024.1.1
#r "nuget: Mongo.BlobStorage, 2024.1.1"
#:package Mongo.BlobStorage@2024.1.1
#addin nuget:?package=Mongo.BlobStorage&version=2024.1.1
#tool nuget:?package=Mongo.BlobStorage&version=2024.1.1
Mongo.BlobStorage
Library to store files using MongoDB
Source code: https://github.com/fmanuelgf/Mongo.BlobStorage
Required environment variables
"MONGODB_CONNECTION_STRING"(e.g., "mongodb://root:root@localhost:27017")"MONGODB_DATABASE_NAME"(e.g., "my_blob_storage")"BUCKET_NAME"(e.g., "my_bucket")"CHUNK_SIZE_BYTES"(default: 32768)
Interface
namespace Mongo.BlobStorage.Repositories
{
using MongoDB.Bson;
using MongoDB.Driver.GridFS;
public interface IBlobStorageRepository
{
Task<ObjectId> UploadAsync(FileStream fileStream);
Task<MemoryStream> DownloadAsync(string idOrName);
Task<GridFSFileInfo<ObjectId>> GetAsync(string idOrName);
Task DeleteAsync(ObjectId fileId);
}
}
Usage
To upload a file
var fs = File.OpenRead(filePath);
var fileId = await this.blobStorageRepository.UploadAsync(fs);
To download a file
MemoryStream file = await this.blobStorageRepository.DownloadAsync(idOrName);
To get a file
GridFSFileInfo<ObjectId> file = await this.blobStorageRepository.GetAsync(idOrName);
To delete a file
await this.blobStorageRepository.DeleteAsync(fileId);
Note
In order to run the tests, you must first run
docker compose up -d.You can then manage the database at http://localhost:8081, with:
- User: user
- Password: pwd
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- MongoDB.Driver (>= 2.29.0)
- MongoDB.Driver.GridFS (>= 2.29.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|