¿Cómo convertir un archivo en una matriz de bytes en la memoria?

Aquí está mi código:

 public async Task<IActionResult> Index(ICollection<IFormFile> files)
 {
    foreach (var file in files)
        uploaddb(file);   

    var uploads = Path.Combine(_environment.WebRootPath, "uploads");
    foreach (var file in files)
    {
        if (file.Length > 0)
        {
            var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

            await file.SaveAsAsync(Path.Combine(uploads, fileName));
        }
    }
}

Ahora estoy convirtiendo este archivo en una matriz de bytes usando este código:

var filepath = Path.Combine(_environment.WebRootPath, "uploads/Book1.xlsx");
byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
string s = Convert.ToBase64String(fileBytes);

Y luego estoy cargando este código en mi base de datos nosql. Todo esto está funcionando bien, pero el problema es que no quiero guardar el archivo. En lugar de eso, quiero cargar directamente el archivo en mi base de datos. Y puede ser posible si solo puedo convertir el archivo en una matriz de bytes directamente sin guardarlo.

public async Task<IActionResult> Index(ICollection<IFormFile> files)
{
    foreach (var file in files)
        uploaddb(file);   
    var uploads = Path.Combine(_environment.WebRootPath, "uploads");
    foreach (var file in files)
    {
        if (file.Length > 0)
        {
            var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

///Code to Convert the file into byte array
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta