begincsdn .NET 趴趴窝
[天行健,君子以自强不息]
[天道酬勤思]

因为在获取网络上的图片大小或数据时,如果不断地形成临时文件,再打开,这个过程不仅速度比较慢,而且给人的感觉总有些不爽,当然不失一种解决办法。
一般的期望就是在内存中完成所有操作,幸好我们可出使用MemoryStream,通过它我们可以比较轻松地达到目的。

 1private void button2_Click(object sender, System.EventArgs e)
 2{
 3HttpWebRequest request = (HttpWebRequest)WebRequest.Create(this.textBox1.Text);
 4WebResponse response = request.GetResponse();
 5Stream stream =  response.GetResponseStream();
 6byte []buffer = new byte[1024];
 7
 8if!response.ContentType.ToLower().StartsWith("text/") )
 9{
10try
11{
12Stream outStream = new MemoryStream();
13Stream inStream = response.GetResponseStream();
14
15int bufferLength;
16do
17{
18bufferLength = inStream.Read(buffer,0,buffer.Length);
19if(bufferLength>0)
20outStream.Write(buffer,0,bufferLength);
21}

22while(bufferLength>0);
23
24outStream.Flush();
25outStream.Seek(0,SeekOrigin.Begin);
26inStream.Close();
27
28Image image = Image.FromStream(outStream);
29outStream.Close();
30MessageBox.Show("image :="+image.Width+"X"+image.Height);
31image.Dispose();
32}

33catch (Exception ex)
34{
35MessageBox.Show("非图像格式\r\n"+ex.Message);
36}

37}

38else
39{
40MessageBox.Show("非图像格式");
41}

42}

43

this.textBox1.Text存储的是URL。
posted on 2005-07-12 21:17  begincsdn  阅读(1987)  评论(1编辑  收藏  举报