我在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/