mardi 5 avril 2016

How to Convert a file into byte array directly without its path(Without saving file)

Here is my 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));
}

Now I am Converting this file into byte array using this code:

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

And then I am uploading this code into my nosql database.This is all working fine but the problem is i don't want to save the file. Instead of that i want to directly upload the file into my database. And it can be possible if i can just convert the file into byte array directly without saving it.

 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
}




Aucun commentaire:

Enregistrer un commentaire