上传图片并显示缩略图的最简单方法(C#)

2010-08-28 10:50:27来源:西部e网作者:

private void fileUpload_Click(object sender, System.EventArgs e)
       
{
            
// 模拟数据库里取出byte[]再显示缩略,
            
// 模拟方法:先上传,把stream转成byte[],再把byte[]放在stream里,再输出

            
// 上传
            System.IO.Stream fs = jpgUpload.PostedFile.InputStream;
            
int nBytes          = jpgUpload.PostedFile.ContentLength;
            
byte[] ByteArray    = new byte[nBytes];
            
int nBytesRead      = fs.Read(ByteArray, 0, nBytes);
            MemoryStream mBytes  
= new MemoryStream(ByteArray,0,nBytes);
            
            
// 转为stream,处理缩略
            System.Drawing.Image _img;
            _img 
= System.Drawing.Image.FromStream(mBytes);
            System.Drawing.Image _thumbImg 
= _img.GetThumbnailImage(Convert.ToInt32(_img.Width* 0.3),Convert.ToInt32( _img.Height * 0.3),null, IntPtr.Zero);

            
// 显示到客户端
            Response.ContentType    = this.jpgUpload.PostedFile.ContentType;
            MemoryStream MemStream  
= new MemoryStream(); 
            _thumbImg.Save(MemStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
            MemStream.WriteTo(Response.OutputStream); 
            Response.Flush();
       }
关键词:C#