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

一时失言乱红尘 2021-12-12 22:43 556阅读 0赞

![None.gif][] private void fileUpload_Click( object sender, System.EventArgs e)
![ExpandedBlockStart.gif][None.gif]![ContractedBlock.gif][None.gif] dot.gif {
![InBlock.gif][None.gif] // 模拟数据库里取出byte[]再显示缩略,
![InBlock.gif][None.gif] // 模拟方法:先上传,把stream转成byte[],再把byte[]放在stream里,再输出
![InBlock.gif][None.gif]
![InBlock.gif][None.gif] // 上传
![InBlock.gif][None.gif] System.IO.Stream fs = jpgUpload.PostedFile.InputStream;
![InBlock.gif][None.gif] int nBytes = jpgUpload.PostedFile.ContentLength;
![InBlock.gif][None.gif] byte[] ByteArray = new byte[nBytes];
![InBlock.gif][None.gif] int nBytesRead = fs.Read(ByteArray, 0, nBytes);
![InBlock.gif][None.gif] MemoryStream mBytes = new MemoryStream(ByteArray,0,nBytes);
![InBlock.gif][None.gif]
![InBlock.gif][None.gif] // 转为stream,处理缩略
![InBlock.gif][None.gif] System.Drawing.Image _img;
![InBlock.gif][None.gif] _img = System.Drawing.Image.FromStream(mBytes);
![InBlock.gif][None.gif] System.Drawing.Image _thumbImg = _img.GetThumbnailImage(Convert.ToInt32(_img.Width* 0.3),Convert.ToInt32( _img.Height * 0.3),null, IntPtr.Zero);
![InBlock.gif][None.gif]
![InBlock.gif][None.gif] // 显示到客户端
![InBlock.gif][None.gif] Response.ContentType = this.jpgUpload.PostedFile.ContentType;
![InBlock.gif][None.gif] MemoryStream MemStream = new MemoryStream();
![InBlock.gif][None.gif] _thumbImg.Save(MemStream, System.Drawing.Imaging.ImageFormat.Jpeg);
![InBlock.gif][None.gif] MemStream.WriteTo(Response.OutputStream);
![InBlock.gif][None.gif] Response.Flush();
![ExpandedBlockEnd.gif][None.gif] }

注释都在里面,不用说明了吧,重要的是GetThumbnailImage这个方法.

转载于:https://www.cnblogs.com/syveen/archive/2005/11/02/267270.html

[None.gif]:

发表评论

表情:
评论列表 (有 0 条评论,556人围观)

还没有评论,来说两句吧...

相关阅读

    相关 flask图片以及生成略图

        flask在开发微信公众号或者小程序时会涉及到手机端上传图片以及生成缩略图的需求(注意,一般涉及到图文都是把图片和文字分开储存到两张表中,用外键作为连接) 第一步,