使用邮递员上传文件

时间:2018-10-24 17:14:39

标签: c# postman asp.net-core-2.1

我写了一个非常简单的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设置:

enter image description here

这就是我上传文件的方式(假设文件名与example.csv相同):

enter image description here

在上传时,我同时尝试了二进制数据和原始数据,但仍然无法读取文件。

1 个答案:

答案 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();
}