【发布时间】:2022-01-12 10:53:04
【问题描述】:
我创建了一个带有 Swagger 的 Asp.net core 3.1 web api,用于将文件上传到服务器。以下代码工作正常:
[HttpPost("PostFile")]
public ActionResult PostFile(IFormFile uploadedFile)
{
var saveFilePath = Path.Combine("c:\\savefilepath\\", uploadedFile.FileName);
using (var stream = new FileStream(saveFilePath, FileMode.Create))
{
uploadedFile.CopyToAsync(stream);
}
return Ok();
}
当我尝试运行它时,我会在 swagger 中获得一个不错的上传按钮。
但是,现在我想使用不同的模型。它与 IFormFile 一起具有更多属性。
public class FileUploadRequest
{
public string UploaderName { get; set; }
public string UploaderAddress { get; set; }
public IFormFile File { get; set; }
}
当我尝试使用此模型时,我在 Swagger 中看不到任何可以帮助我在请求中附加文件的上传按钮。
由于某种原因,它将 IFormFile 显示为字符串。如何在此处获得上传按钮?
【问题讨论】:
标签: rest asp.net-core swagger asp.net-core-webapi