任意のファイルを取るエンドポイントを作成しました:
[HttpPost()]
public async Task<IActionResult> CreateFile(IFormFile file)
Postmanでテストすると、file
は常にnullです。
これが、私がPostmanでやっていることです。
私は何を間違えていますか?
ファイルをアップロードするための完全なソリューションを以下に示します。
このアクションは、アップロードに使用します複数のファイル:
// 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});
}
郵便配達員の写真は、複数のファイルをアップロードするためにこのエンドポイントにファイルを送信する方法を示しています。
このアクションは、アップロードに使用します単一ファイル:
[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});
}