将文件从邮递员上传到Web API时,IFormFile为空值

时间:2019-01-13 05:41:28

标签: c# post asp.net-web-api postman nullreferenceexception

我尝试测试通过邮递员将IFormFile上传到Web API,并且错误显示IFormFile为空值。

    [HttpPost("upload")]
    public async Task<string> Post(IFormFile photo)
    {
        try
        {
            // Full path to file in  location
            string fname = DoPhotoUpload(photo);
            string filePath = Path.Combine(_env.WebRootPath, "photos/" + fname);

            if (photo.Length > 0)
                using (var stream = new FileStream(filePath, FileMode.Create))
                    await photo.CopyToAsync(stream);
            //return Ok(new { count = 1, path = filePath });
            return fname;
        } catch (Exception ex)
        {
            return ex.Message;
        }

响应显示我的IFromFile为空值,但我无法找出错过的地方。

1 个答案:

答案 0 :(得分:0)

[HttpPost("upload")]
public async Task<string> Post([FromBody] IFormFile photo)
{
    try
    {
        // Full path to file in  location
        string fname = DoPhotoUpload(photo);
        string filePath = Path.Combine(_env.WebRootPath, "photos/" + fname);

        if (photo.Length > 0)
            using (var stream = new FileStream(filePath, FileMode.Create))
                await photo.CopyToAsync(stream);
            //return Ok(new { count = 1, path = filePath });
        return fname;
    } catch (Exception ex)
    {
        return ex.Message;
    }
}