Saturday, 26 April 2025

File Handling in Asp.net

Create File from Byte Array and store it locally in web folder 

private void CreateFileFromByteArray(Dates dates)
 {

     FileDb fileDb = _context.fileDbs.FirstOrDefault(x => x.Id == dates.fileid);

     if (fileDb != null)
     {
         // Convert the byte array back to a file
         string filePath = Path.Combine("wwwroot\\downloads\\" + fileDb.Filename);
         System.IO.File.WriteAllBytes(filePath, fileDb.Attachment);
         string filepah = string.Format("https://{0}//downloads//{1}", HttpContext.Request.Host.Value, fileDb.Filename);
         TempData["filepath"] = filepah;
         TempData["filename"] = fileDb.Filename;
     }
 }

 Upload file in Asp.net

  [HttpPost]
  public async Task<string> Uploadfile(IFormFile CertImageFile)
  {
      if (CertImageFile != null && CertImageFile.Length > 0)
      {
          // Check if the file size exceeds 10 MB
          const long maxFileSize = 10 * 1024 * 1024; // 10 MB in bytes
          if (CertImageFile.Length > maxFileSize)
          {
              return "The file size must not exceed 10 MB.";
          }
      
          using (var memoryStream = new MemoryStream())
          {
              CertImageFile.CopyTo(memoryStream);
              var fileDb = new FileDb
              {
                  Attachment = memoryStream.ToArray(),
                  Filename = CertImageFile.FileName
              };

              string fileuri = await AzureFileUpload.UploadFromBinaryDataAsync(memoryStream.ToArray(), CertImageFile.FileName,connectionstring,containername);

              _context.fileDbs.Add(fileDb);
              _context.SaveChanges();

              // Retrieve the last inserted ID
              int lastInsertedId = fileDb.Id;

              return lastInsertedId.ToString();
          }
      }
      else
      {
          return "Please select a file to upload.";
      }
  }
using Azure.Storage.Blobs;

namespace newWatchlistAppInAspNetMvc
{
    public class AzureFileUpload
    {
        public static BlobContainerClient getBlobContainerClient(string connectionString, string containerName)
        {
            BlobContainerClient containerClient = new BlobContainerClient(connectionString, containerName);
            return containerClient;
        }

        public static async Task<string> UploadFromBinaryDataAsync(byte[] buffer, string filename, string connstring, string container)
        {
            BlobContainerClient containerClient = getBlobContainerClient(connstring,container);
            BlobClient blobClient = containerClient.GetBlobClient(filename);

            BinaryData binaryData = new BinaryData(buffer);

            await blobClient.UploadAsync(binaryData, true);

            // Return the URI of the uploaded file
            return blobClient.Uri.ToString();
        }
    }
}
   <div class="form-group border border-primary p-2 m-2">
       <input id="CertImageFile" type="file">
       <button onclick="Submit('#Url_fileid')">Upload File</button>
   </div>

function Submit(txtfileid) {
    event.preventDefault();

    alert('Uploading file...');

    var pdata = new FormData();
    var files = $("#CertImageFile").get(0).files;
    pdata.append('CertImageFile', files[0]);
    $.ajax({
        url: "/dates/Uploadfile",
        type: "POST",
        data: pdata,
        processData: false,
        contentType: false,
        success: function (data) {
            if ($.isNumeric(data)) {
                $(txtfileid).val(data);
                var input = $("#CertImageFile");
                input.replaceWith(input.val('').clone(true));
            }
            else {
                alert(data);
            }
        }
    });
}

Search This Blog

Creating your first "Alexa" Skill

Index What is Alexa What is Alexa Skill? Why is it required when Alexa already equipped with voice assistant? Dev...