Witaj kochani ludzie przepełnienia stosu. Od wczoraj mam problem i od tego czasu przeglądam SO. Mam klienta UWP i ASP.NET Core Web Api. Chcę tylko wysłać strumień do mojego interfejsu API, ale w rzeczywistości okazało się, że jest to trudniejsze zadanie niż myślałem.Strumień postów w ASP.NET Core Web Api
Mam zajęcia, które mam tylko jedną właściwość. Nieruchomość Stream
jak widać poniżej:
public class UploadData
{
public Stream InputData { get; set; }
}
to tutaj jest mój kod z mojego Web API:
// POST api/values
[HttpPost]
public string Post(UploadData data)
{
return "test";
}
Próbowałem odczytać strumienia z organizmu, ale wynik jest taki sam. Mogę uderzyć w metodę pocztową UploadData
nie jest pusta, ale moja InputData
zawsze jest null
.
Oto mój kod UWP dla żądania wysyłki.
private async void PostStreamButton_OnClick(object sender, RoutedEventArgs e)
{
using (var client = new HttpClient())
{
var dummyBuffer = new UnicodeEncoding().GetBytes("this is dummy stream");
var dummyStream = new MemoryStream(dummyBuffer).AsRandomAccessStream().AsStream();
var requestContent = new MultipartFormDataContent();
var inputData = new StreamContent(dummyStream);
inputData.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
requestContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
requestContent.Add(inputData, "inputData");
HttpResponseMessage response = client.PostAsync("url", inputData).Result;
}
}
Próbowałem różnych typów zawartości, które nie wydają się działać i nie mam pojęcia, dlaczego. Byłbym wdzięczny za wszelką pomoc.
Witam, nie mam właściwość treści na moją prośbę. Mam tylko ciało. –
@ HasanHasanov, masz rację. Mój kod był dla poprzedniej wersji. Ciało jest tym, czego powinieneś szukać. – Nkosi
Wygląda na to, że to wystarczy. –