项目

分层解决方案:BLOB 存储

本文档提及的部分功能可能在免费版本中不可用。我们使用 * 符号标示该功能在 团队版更高级别 许可证中可用。

本文档解释了如何在分层解决方案中存储 BLOB(二进制大对象)。在分布式系统中存储文件、图像、视频及其他大型对象是一种常见做法。你可以在 BLOB 存储系统 文档中了解更多关于 BLOB 存储的信息。

在分层解决方案模板中,使用 数据库提供程序 将 BLOB 存储于数据库。Volo.Abp.BlobStoring.Database.EntityFrameworkCoreVolo.Abp.BlobStoring.Database.MongoDB 包提供了在数据库中存储和检索 BLOB 的必要实现。此设置已集成至分层解决方案模板中,并在所有相关项目中使用。你可以在相关项目的 appsettings.json 文件中更改数据库配置。

你可以使用 IBlobContainerIBlobContainer<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");
    }
}

文件管理模块

文件管理 模块是可选的,可在创建解决方案过程中添加到解决方案中。它提供了一个用于管理文件夹和文件的用户界面。你可以在 文件管理 * 文档中了解更多关于该模块的信息。

file-management


在本文档中