我在asp.net mvc 5 C#Web应用程序中间歇性地收到此异常:



只是将图像上传到S3方法(Web Api Controller )。

Global.asax中的presendrequestheaders

protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
        {
            HttpApplication app = sender as HttpApplication;
            if (app != null &&
                app.Context != null)
            {
                app.Context.Response.Headers.Remove("Server");
            }
        }

触发错误的方法:
    [HttpPost]
    [Route("UploadImageJSON")]
    public IHttpActionResult UploadImageJSON(HttpRequestMessage request)
    {
        var httpRequest = HttpContext.Current.Request;

        // Check if files are available
        if (httpRequest.Files.Count != 1) return BadRequest();

        var postedFile = httpRequest.Files[0];

        var contentType = postedFile.ContentType;
        if (!contentType.Contains("image"))
        {
            return StatusCode(HttpStatusCode.NotAcceptable);
        }




        var keyUploadFiles = Constants.UrlS3Amazon +
                             S3.UploadToS3WithStream(postedFile.InputStream, contentType);


        return Json(JsonConvert.SerializeObject(keyUploadFiles));


    }

编辑:更多信息...我的Web应用程序通过负载均衡器托管在Elastic BeanStalk中,负载均衡器已安装SSL证书,并且负载均衡器与EC2实例之间的连接位于端口80中。可能会有所帮助。

Elmah日志:



谢谢!!

最佳答案

您是否尝试过删除app.Context.Response.Headers.Remove(“Server”);我认为这是问题所在吗?

关于c# - 发送HTTP header 后,服务器无法附加 header 上传文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31287363/

10-11 15:58