【发布时间】:2017-07-05 10:42:18
【问题描述】:
你好可爱的 Stack Overflow 的人们。 从昨天开始我遇到了一个问题,从那以后我一直在浏览。 我有一个 UWP 客户端和 ASP.NET Core Web Api。我只是想向我的 web api 发送一个流,但这确实比我想象的要困难。
我有一门课,我只有一个属性。 Stream 属性如下所示:
public class UploadData
{
public Stream InputData { get; set; }
}
然后这是我的 Web Api 中的代码:
// POST api/values
[HttpPost]
public string Post(UploadData data)
{
return "test";
}
我尝试从正文中读取流,但结果相同。
我可以点击 post 方法 UploadData 不为空,但我的 InputData 始终为 null。
这是我的 UWP 发布请求的代码。
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;
}
}
我尝试了各种内容类型,但它们似乎都不起作用,我不知道为什么。我非常感谢所有的帮助。
【问题讨论】:
标签: c# asp.net-core .net-core uwp asp.net-core-webapi