我已经准备好我的WebAPI方法来接受文件参数,如下所示:(例如,URI“https://localhost:44397/api/uploadfile”)
[Route("api/[controller]")]
[ApiController]
public class UploadFileController : ControllerBase
{
[HttpPost]
public async Task<IActionResult> Post([FromForm] IFormFile file)
{
}
}
我正在使用控制台应用程序将文件发送到此API方法,以下是我的代码:
public static void Send(string fileName)
{
using (var client = new HttpClient())
using (var content = new MultipartFormDataContent())
{
client.BaseAddress = new Uri("https://localhost:44397");
var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
var index = fileName.LastIndexOf(@"\");
var fn = fileName.Substring(index + 1);
fs.Position = 0;
var contentfile = new StreamContent(fs);
content.Add(contentfile, "file", fn);
var result = client.PostAsync("/api/uploadfile", content).Result;
}
}
我还与其他客户端(例如Postman)进行了检查,结果也失败了(因此似乎是服务器端的问题,而不是控制台应用程序的问题)。
我不确定我在这里做错了什么。每当我检查我的WebAPI方法文件参数时,它总是为空。
有人能帮助我找到解决方法吗?我尝试搜索博客但没有结果。也许我在这里做了一些天真的事情。