上傳圖片并顯示縮略圖的最簡單方法(C#)

2010-08-28 10:50:27來源:西部e網(wǎng)作者:

private void fileUpload_Click(object sender, System.EventArgs e)
       
{
            
// 模擬數(shù)據(jù)庫里取出byte[]再顯示縮略,
            
// 模擬方法:先上傳,把stream轉(zhuǎn)成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);
            
            
// 轉(zhuǎn)為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();
       }
關(guān)鍵詞:C#