我写了一个非常简单的POST api调用,只是为了测试文件是否真正被读入。我不知道为什么,但是当我在运行代码时检查文件实例时,它总是作为null传递。这个问题是什么原因造成的?邮递员或代码中的某些内容?
代码如下:
[HttpPost("fileupload")]
public async Task<ActionResult> Post(IFormFile file)
{
var result = new List<string>();
using (var reader = new System.IO.StreamReader(file.OpenReadStream()))
{
while (reader.Peek() >= 0)
result.Add(await reader.ReadLineAsync());
}
return Ok();
}
这是我正在使用的POSTMAN设置:
这就是我上传文件的方式(假设文件名与example.csv相同):
在上传时,我同时尝试了二进制数据和原始数据,但仍然无法读取文件。
答案 0 :(得分:0)
我找到了自己问题的答案! 不要忘记在代码中添加[FromForm]!
[HttpPost("auxiliaryupload")]
public async Task<ActionResult> Post([FromForm]IFormFile file)
{
var result = new List<string>();
using (var reader = new System.IO.StreamReader(file.OpenReadStream()))
{
while (reader.Peek() >= 0)
result.Add(await reader.ReadLineAsync());
}
return Ok();
}