Hoş insanlar Stack Overflow. Dünden beri bir sorunum var ve o zamandan beri SO göz atıyorum. UWP İstemcisi ve ASP.NET Çekirdek Web API'm var. Sadece web api'ime bir akış göndermek istiyorum ama aslında bu düşündüğümden daha zor bir işti.ASP.NET Çekirdek Web'de Sondan Aktarım Web Api
Yalnızca bir mülküm olan bir sınıfa sahibim. Aşağıda görebileceğiniz gibi Stream
özelliği:
public class UploadData
{
public Stream InputData { get; set; }
}
Sonra İşte benim Web Api benim kodudur:
// POST api/values
[HttpPost]
public string Post(UploadData data)
{
return "test";
}
ben beden itibaren akışı okumaya çalıştık ancak sonuç aynıdır. UploadData
numaralı ileti yöntemine null değdiremiyorum ama InputData
benim için her zaman null
.
İşte UWP'nin posta isteği kodudur.
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;
}
}
Hiçbirinin çalışmadığı çeşitli içerik türlerini denedim ve nedenini bilmiyorum. Tüm yardımı gerçekten takdir ederim.
Merhaba, benim Request İçerik özelliği yok. Sadece vücudum var. –
@HasanHasanov, Doğru. Kodum önceki sürüm içindi. Aramanız gereken şey beden. – Nkosi
Eh, hile yaptığı gibi görünüyor. –