代码实例:在ASP.NET中上传图片并生成缩略图

asp.net|上传|上传图片|缩略图

private void btnUploadPicture_Click(object sender, System.EventArgs e)
{
   //检查上传文件的格式是否有效
   if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
   {
    Response.Write("上传图片格式无效!");
    return;
   }

   //生成原图
   Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength];
   System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream;
   System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);

   int oWidth = oImage.Width; //原图宽度
   int oHeight = oImage.Height; //原图高度
   int tWidth = 100; //设置缩略图初始宽度
   int tHeight = 100; //设置缩略图初始高度

   //按比例计算出缩略图的宽度和高度
   if(oWidth >= oHeight)
   {
    tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth)));
   }
   else
   {
    tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight)));
   }

   //生成缩略原图
   Bitmap tImage = new Bitmap(tWidth,tHeight);
   Graphics g = Graphics.FromImage(tImage);
   g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量插值法
   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//设置高质量,低速度呈现平滑程度
   g.Clear(Color.Transparent); //清空画布并以透明背景色填充
   g.DrawImage(oImage,new Rectangle(0,0,tWidth,tHeight),new Rectangle(0,0,oWidth,oHeight),GraphicsUnit.Pixel);

   string oFullName = Server.MapPath(".") + "/" + "o" + DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg"; //保存原图的物理路径
   string tFullName = Server.MapPath(".") + "/" + "t" + DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".jpg"; //保存缩略图的物理路径

   try
   {
    //以JPG格式保存图片
    oImage.Save(oFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
    tImage.Save(tFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally
   {
    //释放资源
    oImage.Dispose();
    g.Dispose();
    tImage.Dispose();
   }
}  

时间: 2024-08-25 12:02:04

代码实例:在ASP.NET中上传图片并生成缩略图的相关文章

在ASP.NET中上传图片并生成缩略图的C#源码

asp.net|上传|上传图片|缩略图 在ASP.NET中上传图片并生成缩略图的C#源码 using System;   using System.Collections;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Web;   using System.Web.SessionState;   using System.Web.UI;   using Sys

在ASP.NET中上传图片并生成缩略图

在ASP.NET中上传图片并生成缩略图,可以参照下列代码: private void btnUploadPicture_Click(object sender, System.EventArgs e){//检查上传文件的格式是否有效if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0){Response.Write("上传图片格式无效!");return;}//生成原图

ASP.NET实现上传图片并生成缩略图的方法_实用技巧

本文实例讲述了ASP.NET实现上传图片并生成缩略图的方法.分享给大家供大家参考,具体如下: protected void bt_upload_Click(object sender, EventArgs e) { //检查上传文件的格式是否有效 if (this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("上传图片格式无效!"); re

在ASP.NET中上传图片并生成带版权信息的缩略图

asp.net|上传|上传图片|缩略图 前台:<HTML>    <HEAD>        <title>WebForm3</title>            </HEAD>    <body>        <form id="Form1" method="post" runat="server">             <INPUT id=&quo

求助,asp.net中上传图片

问题描述 求助,asp.net中上传图片 asp.net上传图片,点击浏览选择图片之后,想在img标签中直接预览图片,但是还未上传图片到服务器,各位大神,该如何实现呢?谢谢 解决方案 http://www.vipcn.com/wangluobiancheng/AspNet/312757.html 解决方案二: 在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图在ASP.NET中上传图片并生成缩略图 解决方案三: javascript客户端图片预览

thinkPHP实现上传图片及生成缩略图功能示例

本文实例讲述了thinkPHP实现上传图片及生成缩略图功能.分享给大家供大家参考,具体如下: 记录一下在thinkPHP上传图片的方法(Upload)和生成缩略图(Image)的方法. html页面form中必须加enctype="multipart/form-data" <form action="__SELF__" method="post" enctype="multipart/form-data"> <

asp.net中生在文章缩略图并加入图片信息

asp.net|缩略图 asp.net中生在文章缩略图,并在图片上加入图片版板等信息  //定义image类的对象     Drawing.Image image,newimage;  //图片路径  protected string imagePath;  //图片类型  protected string imageType;  //图片名称  protected string imageName;   //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行  //

asp.net中上传图片文件实例(给上传图片加水印)

本款asp教程.net教程是一款asp.net教程中上传图片文件实例(给上传图片加水印)哦,他先是把图片上传服务器,然后增加图片水印,再把图片保存到数据库教程. // 涉及命名空间 using system; using system.collections; using system.componentmodel; using system.data; using system.data.sqlclient; using system.drawing; using system.drawing

各位大虾,如何将VC实现的视频代码嵌到ASP.net中?

问题描述 视频在线服务系统,现有VC实现的视频传输代码,如何嵌到ASP.net中或者如何在.net中实现视频传输~~请各位大虾帮忙帮忙,小女子不胜感激!!! 解决方案 解决方案二:做成activex解决方案三:自己顶个先~~~~~解决方案四:可以用vc.net啊!应该可以直接使用的吧解决方案五:引用楼主qiao213的帖子: 视频在线服务系统,现有VC实现的视频传输代码,如何嵌到ASP.net中或者如何在.net中实现视频传输~~请各位大虾帮忙帮忙,小女子不胜感激!!! 能说的详细点吗解决方案六