• 简单的上传图片并生成缩略图


    页面:

    <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();
    }
    }
  • 相关阅读:
    中芯国际内争的真相
    对Delphi控件作用的新理解(控件本身的源代码就是一个很强的工业级源码)
    百度云怎么赚钱
    百度地图在某架构下找不到符号.a文件的问题
    忽然发现,if语句没有相应的continue功能
    可怜的苏联,以及可恨的戈尔巴乔夫
    感觉镀金没有用,兼论小公司与大公司的选择
    开发团队的民主集中制
    关于明末历史(已全部写完)
    CF 322B Ciel and Flowers 贪心水题
  • 原文地址:https://www.cnblogs.com/Robbery/p/2026571.html
Copyright © 2020-2023  润新知