【问题标题】:ASP.NET Core API Controller returns nothing even though it successfully completes the POST requestASP.NET Core API 控制器即使成功完成 POST 请求也不返回任何内容
【发布时间】:2020-11-03 19:19:22
【问题描述】:

我有下面的控制器,玩家可以上传他们的宝藏图片。

有效!但是,当我使用 Postman 程序对其进行测试时,当我发出 Return OK() 时它不会返回任何内容。

如何让这个控制器向用户发送媒体已成功上传的消息?我以为返回 OK() 会这样做,但 Postman 中的响应字段是空白的。

有没有办法做到这一点?

谢谢!

[HttpPost]
public async Task<IActionResult> PostFormData([FromForm(Name = "file")] IFormFile userFileUpload, [FromForm] Guid treasureId)
{
    int maxFileSize = 52428800; 
    var allowedExtensions = new[] { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".pdf", ".odt", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".rtf", ".txt" };

    if(userFileUpload.Length > maxFileSize)
    {
        return BadRequest("Maximum file size exceeded");
    }

    if(!allowedExtensions.Contains(Path.GetExtension(userFileUpload.FileName)))
    {
        return BadRequest("This file is not a valid file type.");
    }

    if (treasureId == Guid.Empty)
    {
        return BadRequest("No treasureId was provided");
    }

    if (await _mediaFolderEngine.CopyFile(userFileUpload, treasureId))
    {
        return Ok();
    } 
    else
    {
        return StatusCode(StatusCodes.Status500InternalServerError);

    }
}

【问题讨论】:

    标签: asp.net-core entity-framework-core asp.net-core-webapi asp.net-core-3.1


    【解决方案1】:

    Ok() 返回 200 状态码,表示请求成功,如果你也想用它添加自定义消息,你可以这样做

    public IActionResult GetEmployees()  
    {  
      return Ok("My Message");  
    } 
    

    【讨论】:

      猜你喜欢
      • 2020-04-12
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多