# Asp.Net Core 3.1 WebAPI multipart/form-data 讀取

# 簡介

在 asp.net core 3.1 webapi 中,若是沒有做額外的設定,若是將參數新增在 body formdata 內將彙報錯, "The request entity's media type 'multipart/form-data' is not supported for this resource." ,本教程目的是通過 nuget 套件 ApiMultipartFormDataFormatter 解決此問題。

# 安裝 ApiMultipartFormDataFormatter

  1. 方案總管 > 專案名稱 > 右鍵相依性 > 管理 Nuget 套件

  2. 安裝 ApiMultipartFormDataFormatter 套件

# 在 Startup.cs 中新增 Formatter

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers(options =>
    {
        // 新增 MultipartFormData 的解析
        options.InputFormatters.Add(new MultipartFormDataFormatter());
    });
}

# 在 controller 的 api 中新增 [FromBody] 修飾器

[HttpPost]
[Route("record")]
public IActionResult AddRecord([FromBody] Model.ProjectArg arg)
{
    // your code here...
}