I have created an endpoint that takes an arbitrary file:
[HttpPost()]
public async Task<IActionResult> CreateFile(IFormFile file)
When I test it with Postman, the file
is always null.
Here is what I am doing in Postman:
What am I doing wrong?
Firstly, make a postman echo request and delete the body contents. After that, construct a form data body to see the file as it's being uploaded. Then, click on “body” and select form-data as the body type. Next, assign a key to the file value so it reflects to “select files”.
Thanks to @rmjoia's comment I got it working! Here is what I had to do in 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:
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:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With