Я отправляю почтовый запрос от своего клиента (ASP.NET MVC) в службу webapi, однако контроллеру службы webapi требуется параметр Stream
, который всегда равен null
.
Запрос от приложения ASP.NET MVC:
using(var client = new HttpClient())
{
Token token = GetToken();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.TokenType, token.AccessToken);
var content = new StreamContent(stream);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "keliaStream" };
var res = client.PostAsync(GetSdcUri(), content).Result;
}
Контроллер веб-апи:
// POST: api/Publication
[HttpPost]
[Route("whatever-route")]
[RequireHttps]
public System.Web.Mvc.ActionResult GenerateSDCFromTBox([FromBody]Stream keliaStream)
{
// whatever
}
keliaStream
всегда равно нулю, что мне не хватает?
this.Request.InputStream
или принять его в качестве параметра метода действия? - person Dai   schedule 31.12.2019ApiController
, поэтому у меня нетRequest.InputStream
, вместо этого у меня естьHttpContext.Current.Request.InputStream
. Но если я попытаюсь использовать его, он выдает ошибку:HttpContext.Current.Request.InputStream = 'HttpContext.Current.Request.InputStream' threw an exception of type 'System.Web.HttpException'
- person Florian   schedule 31.12.2019ApiController
— этоSystem.Web.Http
(веб-API), который представляет собой отдельный стек от ASP.NET MVC (то естьSystem.Web.Mvc
) — я думаю, что это часть вашей проблемы (не смешивайте MVC и веб-API, если вы не используете ASP.NET Core) . - person Dai   schedule 31.12.2019