如何克服下面的错误?我已经按照下面的教程,但我得到的红线表示不包含Content
的定义。 https://www.youtube.com/watch?v=IVvJX4CoLUY
private void UploadFile_Cliked(object sender, EventArgs e)
{
var content = new MultipartFormDataContent();
content.Add(new StreamContent(_mediaFile.GetStream()),
"\"file\"",
$"\"{_mediaFile.Path}\"");
var httpClient = new HttpClient();
var uploadServiceBaseAddress = "http://192.168.137.1/pic/";
var httpResponseMessage = httpClient.PostAsync(uploadServiceBaseAddress, content);
RemotePathLabel.Text = httpResponseMessage.Content.ReadAsStringAsync();
}
'Task'不包含'Content'的定义,也没有扩展方法'Content'可以找到接受'Task'类型的第一个参数(你是否缺少using指令或汇编引用?)
这是错误,但任何想法解决它?
我已添加此Microsoft.AspNet.WebApi.Client包但仍然失败
使事件处理程序异步,然后等待返回Task派生结果的函数,因为在调用ReadAsStringAsync
时你会遇到同样的问题
private HttpClient httpClient = new HttpClient();
private async void UploadFile_Cliked(object sender, EventArgs e) {
var content = new MultipartFormDataContent();
content.Add(new StreamContent(_mediaFile.GetStream()),
"\"file\"",
$"\"{_mediaFile.Path}\"");
var uploadServiceBaseAddress = "http://192.168.137.1/pic/";
var httpResponseMessage = await httpClient.PostAsync(uploadServiceBaseAddress, content);
RemotePathLabel.Text = await httpResponseMessage.Content.ReadAsStringAsync();
}
请注意,事件处理程序是允许使用async void
的规则的例外