项目

单层解决方案:BLOB 存储

本文档中提到的某些功能可能在免费版本中不可用。我们使用 * 符号来标识仅在 团队版更高级 许可中可用的功能。

本文档解释了如何在单层解决方案中存储BLOB(二进制大对象)。在分布式系统中存储文件、图像、视频和其他大型对象是很常见的。更多详情,请参阅 BLOB存储系统 文档。

在单层解决方案模板中,使用数据库提供程序 将BLOB存储在数据库中。Volo.Abp.BlobStoring.Database.EntityFrameworkCoreVolo.Abp.BlobStoring.Database.MongoDB 包提供了在数据库中存储和检索BLOB所需的实现。此设置已集成到单层解决方案模板中,并在所有相关项目中通用。您可以在API项目的 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


在本文档中