微服务解决方案:BLOB 存储
您必须拥有 ABP Business 或更高版本的许可证才能创建微服务解决方案。
本文档解释了如何在微服务解决方案中存储 BLOB(二进制大型对象)。在分布式系统中存储文件、图像、视频和其他大型对象是常见需求。您可以在 BLOB 存储系统 文档中了解更多关于 BLOB 存储的信息。
在微服务解决方案模板中,数据库提供程序 用于在数据库中存储 BLOB。Volo.Abp.BlobStoring.Database.EntityFrameworkCore 或 Volo.Abp.BlobStoring.Database.MongoDB 包提供了在数据库中存储和检索 BLOB 的必要实现。此设置已集成到微服务解决方案模板中,并在所有相关项目中使用。您可以在相关项目的 appsettings.json 文件中更改数据库配置。默认配置针对 SQL Server 如下:
"AbpBlobStoring": "Server=localhost,1434; User Id=sa; Password=myPassw@rd; Database=MyProjectName_BlobStoring; TrustServerCertificate=true"
之后,您可以使用 IBlobContainer 或 IBlobContainer<T> 服务来存储和检索 BLOB。以下是一个存储 BLOB 的示例:
public class MyService : ITransientDependency
{
private readonly IBlobContainer _blobContainer;
public MyService(IBlobContainer blobContainer)
{
_blobContainer = blobContainer;
}
public async Task SaveBytesAsync(byte[] bytes)
{
await _blobContainer.SaveAsync("my-blob-1", bytes);
}
public async Task<byte[]> GetBytesAsync()
{
return await _blobContainer.GetAllBytesOrNullAsync("my-blob-1");
}
}
文件管理 模块是可选的,可以在创建解决方案的过程中添加。它提供了一个用于管理文件夹和文件的用户界面。您可以在 文件管理 文档中了解更多关于该模块的信息。
抠丁客



