因为在获取网络上的图片大小或数据时,如果不断地形成临时文件,再打开,这个过程不仅速度比较慢,而且给人的感觉总有些不爽,当然不失一种解决办法。 一般的期望就是在内存中完成所有操作,幸好我们可出使用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。
页次:1/1 1篇/页 首页 上一页 下一页 尾页 合计 1 篇 Go: |