Image.FromStream 错误 - 无法发送动词类型的内容正文
Image.FromStream error - cannot send a content body with verb type
我在 C# 中这样做:
Image image = Image.FromStream(fullSizeAppLogo.FileStream);
FileStream 属性 在单独的 class 中定义为:
public System.IO.Stream FileStream
{
get
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.Url);
return request.GetRequestStream();
}
}
其中 'this.Url' 是我要检索的图像的 URL。我在这一行收到错误 'Cannot send a content-body with this verb-type':
return request.GetRequestStream();
所以 request.GetRequestStream 似乎是一个 GET 请求,而这一行:
Image.FromStream(fullSizeAppLogo.FileStream)
似乎正在尝试发送内容正文。我不明白为什么 Image.FromStream 会尝试发送内容正文 - 为什么会这样?
通过将我的 'request' 对象的方法更改为 POST 来修复此错误似乎不正确,因为 HttpWebRequest 实际上应该执行 [=35= 的 GET 请求],所以这肯定不是解决问题的有效方法。 'correct' 解决此问题的方法是什么?
您正在尝试获取 GET 请求的 RequestStream,这没有任何意义,因为您没有发送任何内容。
您应该使用 Response 获取已下载图像的流:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.Url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return response.GetResponseStream();
请注意,调用它的代码会在另一端正确处理流。
我在 C# 中这样做:
Image image = Image.FromStream(fullSizeAppLogo.FileStream);
FileStream 属性 在单独的 class 中定义为:
public System.IO.Stream FileStream
{
get
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.Url);
return request.GetRequestStream();
}
}
其中 'this.Url' 是我要检索的图像的 URL。我在这一行收到错误 'Cannot send a content-body with this verb-type':
return request.GetRequestStream();
所以 request.GetRequestStream 似乎是一个 GET 请求,而这一行:
Image.FromStream(fullSizeAppLogo.FileStream)
似乎正在尝试发送内容正文。我不明白为什么 Image.FromStream 会尝试发送内容正文 - 为什么会这样?
通过将我的 'request' 对象的方法更改为 POST 来修复此错误似乎不正确,因为 HttpWebRequest 实际上应该执行 [=35= 的 GET 请求],所以这肯定不是解决问题的有效方法。 'correct' 解决此问题的方法是什么?
您正在尝试获取 GET 请求的 RequestStream,这没有任何意义,因为您没有发送任何内容。
您应该使用 Response 获取已下载图像的流:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.Url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return response.GetResponseStream();
请注意,调用它的代码会在另一端正确处理流。