【发布时间】:2022-02-24 01:17:20
【问题描述】:
在使用 Compact Framework 时,从 URL 获取图像的最佳方法是什么以及如何?
我发现的东西是这个(用它做了一个函数):
public Bitmap getImageFromUrl()
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.SImageUrl);
request.Timeout = 5000; // 5 seconds in milliseconds
request.ReadWriteTimeout = 20000; // allow up to 20 seconds to elapse
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream ms = response.GetResponseStream();
Bitmap imageFromUrl;
using (MemoryStream ms2 = new MemoryStream())
{
int bytes = 0;
byte[] temp = new byte[4096];
while ((bytes = ms.Read(temp, 0, temp.Length)) != 0)
ms2.Write(temp, 0, bytes);
imageFromUrl = new Bitmap(ms2);
}
return imageFromUrl;
}
但它不会在图片框中显示任何图像。 有什么想法吗?
【问题讨论】:
-
您是否使用调试器单步执行此代码?这至少可以说明哪条线路出现故障。
-
我已经完成了它,但我看不到这些行中的任何一条都失败了。 HttpWebResponse“响应”显示 statuscode = ok (200),HttpWebResponse“响应”显示 contentLength = 11922,HttpWebResponse“响应”显示 ContentType = image/png,位图“imageFromUrl”显示 Size = 256、256 (正确),位图“imageFromUrl”显示 m_bmpdata = null,位图“imageFromUrl”显示 m_how = 1179689。
-
哦...实际上... ms 抛出异常:'((System.Net.ContentLengthReadStream)ms).Length' 抛出类型为 'System.NotSupportedException' long {System.NotSupportedException }
标签: c# compact-framework