Wie konvertiere ich eine Datei in ein Byte-Array im Speicher?

Hier ist mein Code:

 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));
        }
    }
}

Nun konvertiere ich diese Datei mit folgendem Code in ein Byte-Array:

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

Und dann lade ich diesen Code in meine nosql-Datenbank hoch. Das funktioniert alles, aber das Problem ist, dass ich die Datei nicht speichern möchte. Stattdessen möchte ich die Datei direkt in meine Datenbank hochladen. Und es kann möglich sein, wenn ich die Datei direkt in ein Byte-Array konvertieren kann, ohne sie zu speichern.

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
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage