我正在处理一个ASP.NET Core Web API项目,特别是使用Microsoft提供的ASP.NET Core Web API
模板。我遇到了一个问题,Swagger UI不显示需要文件作为输入的控制器操作的上传按钮。
设置与配置:
1.项目模板:该项目使用ASP.NET Core Web API
模板创建,其中包含默认的WeatherForecast
API,支持Swagger。
1.Program.cs
中的Swagger配置:
builder.Services.AddSwaggerGen();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
字符串
1..csproj文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup>
</Project>
型
1.WeatherForecastController.cs
中的控制器操作:
[HttpPost]
public IActionResult UploadFile([FromForm] IFormFile file)
{
return Ok();
}
型
问题:
通过Visual Studio作为HTTP示例启动应用程序后,Swagger UI没有显示预期的文件输入上传按钮。当前的Swagger UI如下所示:
的数据
预期效果:
我希望看到一个类似于这样的上传按钮:
的
谁能告诉我为什么上传按钮没有出现,以及我如何解决这个问题?
1条答案
按热度按时间a0x5cqrl1#
发现一个问题…
对于使用
6.5
和.net 8的Swashbuckle.AspNetCore
版本-处理表单和文件插件。只需要省略[FromForm]
。并且看起来基于官方Microsoft文档,此属性不应该用于.net core 2.2+。字符串