Microservice Solution: BLOB Storing

You must have an ABP Business or a higher license to be able to create a microservice solution.

This document explains how to store BLOBs (Binary Large Objects) in a microservice solution. It is common to store files, images, videos, and other large objects in a distributed system. You can learn more about BLOB storage in the BLOB Storing System documentation.

In the microservice solution template, the Database Provider is used to store BLOBs in the database. The Volo.Abp.BlobStoring.Database.EntityFrameworkCore or Volo.Abp.BlobStoring.Database.MongoDB package provides the necessary implementations to store and retrieve BLOBs in the database. This setup is integrated into the microservice solution template and is used in all related projects. You can change the database configuration in the appsettings.json file of the related project. The default configuration is for SQL Server as follows:

"AbpBlobStoring": "Server=localhost,1434; User Id=sa; Password=myPassw@rd; Database=MyProjectName_BlobStoring; TrustServerCertificate=true"

Afterwards, you can use the IBlobContainer or IBlobContainer<T> service to store and retrieve BLOBs. Here is an example of storing a 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");
    }
}

The File Management module is optional and can be added to the solution during the creation process. It provides a user interface to manage folders and files. You can learn more about the module in the File Management document.

file-management


Contributors


Last updated: July 31, 2024 Edit this page on GitHub

Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

In this document
Community Talks

What’s New with .NET 9 & ABP 9?

21 Nov, 17:00
Online
Watch the Event
Mastering ABP Framework Book
Mastering ABP Framework

This book will help you gain a complete understanding of the framework and modern web application development techniques.

Learn More