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(); }
注释都在里面,不用说明了吧,重要的是GetThumbnailImage这个方法.