ASP Core WebApi Test File Upload using Postman

The complete solution for uploading file or files is shown below:

  • This action use for uploading multiple files:

    // Of course this action exist in microsoft docs and you can read it.
    HttpPost("UploadMultipleFiles")]
    public async Task<IActionResult> Post(List<IFormFile> files)
    {
    
        long size = files.Sum(f => f.Length);
    
        // Full path to file in temp location
        var filePath = Path.GetTempFileName();
    
        foreach (var formFile in files)
        {
            if (formFile.Length > 0)
                using (var stream = new FileStream(filePath, FileMode.Create))
                    await formFile.CopyToAsync(stream);
        }
    
        // Process uploaded files
    
        return Ok(new { count = files.Count, path = filePath});
    }
    

The postman picture shows how you can send files to this endpoint for uploading multiple files: enter image description here

  • This action use for uploading single file:

    [HttpPost("UploadSingleFile")]
    public async Task<IActionResult> Post(IFormFile file)
    {
    
        // Full path to file in temp location
        var filePath = Path.GetTempFileName();
    
        if (file.Length > 0)
            using (var stream = new FileStream(filePath, FileMode.Create))
                await file.CopyToAsync(stream);
    
        // Process uploaded files
    
        return Ok(new { count = 1, path = filePath});
    }
    

The postman picture shows how you can send a file to this endpoint for uploading single file: enter image description here


Your should be like that

 [HttpPost]       
   public async Task<IActionResult> UploadFile([FromForm]UploadFile updateTenantRequest)
        {
}

Your class should be like:-

public class UpdateTenantRequestdto
    {


        public IFormFile TenantLogo { get; set; }
    }

and then enter image description here


Thanks to @rmjoia's comment I got it working! Here is what I had to do in Postman:

enter image description here