zoukankan      html  css  js  c++  java
  • 简单的上传图片并生成缩略图

    页面:

    <form id="form1" runat="server">
    <div>
    <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="Button1" runat="server" Text="UP" OnClick="Button1_Click" />
    </div>
    </form>

    后台:  

         protected void Button1_Click(object sender, EventArgs e)
    {
    UpImageFile(FileUpload1);
    }

    protected void UpImageFile(FileUpload fileLoad)
    {
    if (fileLoad.HasFile)
    {
    string fileType = fileLoad.PostedFile.ContentType;
    if (fileType == "image/bmp" || fileType == "image/pjpeg" || fileType == "image/gif" || fileType == "image/png")
    {
    string loadPath = fileLoad.PostedFile.FileName; //等待上传文件的本地路径
    System.Drawing.Image img = System.Drawing.Image.FromFile(loadPath);
    if (img.Height > 100 || img.Width > 100)
    {
    FileInfo info
    = new FileInfo(loadPath);
    string fName = info.Name; //获取原文件名
    string fileName = DateTime.Now.ToString("yyMMddhhmmss") + fName; //在文件名中加入时间
    string imgPath = Server.MapPath("/UpFile/OrImages/") + fileName; //原文件路径
    string thPath = Server.MapPath("/UpFile/ThImages/") + fileName; //缩略图路径
    fileLoad.SaveAs(imgPath); //保存原图片
    MakeThumnail(imgPath, thPath); //生成缩略图
    }
    else
    {
    //图片尺寸太小
    }
    }
    else
    {
    //文件格式不对
    }

    }
    }

    protected void MakeThumnail(string orPath, string thPath)
    {
    System.Drawing.Image img
    = System.Drawing.Image.FromFile(orPath);
    int width = 100; //设置缩略图的宽为100
    int height = img.Height * width / img.Width; //缩略图的高按比例缩小
    System.Drawing.Image bitmap = new System.Drawing.Bitmap(width, height); //创建一个空位图
    System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap); //创建画板
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设定为高质量插值
    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //指定高质量低速度呈现
    g.Clear(Color.Transparent);
    g.DrawImage(img,
    new Rectangle(0, 0, width, height));
    try
    {
    bitmap.Save(thPath, System.Drawing.Imaging.ImageFormat.Jpeg);
    //以JPG格式保存图片
    }
    catch (System.Exception e)
    {
    throw e;
    }
    finally
    {
    img.Dispose();
    bitmap.Dispose();
    g.Dispose();
    }
    }
  • 相关阅读:
    fastadmin的数据限制什么意思?具体是怎么配置的?
    jQuery上传剪切图片的原理和代码
    dedecms模板明明存在,还是报错:说模板不存在
    数据库基本信息查询
    数据库 --- 基础知识 1
    代码块分享
    并发编程知识内容汇总
    网络编程 与 并发编程 汇总
    并发编程 --- 线程补充2
    并发编程 --- 线程补充
  • 原文地址:https://www.cnblogs.com/Robbery/p/2026571.html
Copyright © 2011-2022 走看看