/// <summary> 
    /// asp.net上传图片并生成缩略图 
    /// </summary> 
    /// <param name="upImage">HtmlInputFile控件</param> 
    /// <param name="sSavePath">保存的路径,些为相对服务器路径的下的文件夹</param> 
    /// <param name="sThumbExtension">缩略图的thumb</param> 
    /// <param name="intThumbWidth">生成缩略图的宽度</param> 
    /// <param name="intThumbHeight">生成缩略图的高度</param> 
    /// <returns>缩略图名称</returns> 
    public string UpLoadImage(FileUpload upImage, string savePath, string sThumbExtension, int intThumbWidth, int intThumbHeight)
    {
        if (upImage.HasFile)
        {
            if (upImage.PostedFile.ContentLength > 0 && upImage.PostedFile.ContentLength / 1024 < 1024)
            {
                string imgType = upImage.PostedFile.ContentType.ToString(); // 图片类型
                if (imgType.Equals("image/pjpeg") || imgType.Equals("image/gif") || imgType.Equals("image/png"))
                {
                    //取得上传文件的扩展名
                    string strExt = upImage.PostedFile.FileName.Substring(upImage.PostedFile.FileName.LastIndexOf("."));
                    // 自定义名称保存
                    string newImaName = (sThumbExtension + strExt).ToString();
                    // 保存到指定目录
                    string newsavePath = Server.MapPath(savePath);

                    System.Drawing.Image img = System.Drawing.Image.FromFile(upImage.PostedFile.FileName);
                    if (img.Width < intThumbWidth && img.Height < intThumbHeight)
                    {
                        return "图片的宽度和高度不符合(" + intThumbWidth + "*" + intThumbHeight+")";
                    }
                    else
                    {
                        upImage.PostedFile.SaveAs(newsavePath + newImaName);
                        return "上传图片成功.";
                    }

                  
                    //try
                    //{
                    //    //原图加载
                    //    using (System.Drawing.Image sourceImage = System.Drawing.Image.FromFile(upImage.PostedFile.FileName))
                    //    {
                    //        //原图宽度和高度
                    //        int width = sourceImage.Width;
                    //        int height = sourceImage.Height;
                    //        int smallWidth;
                    //        int smallHeight;
                    //        //获取第一张绘制图的大小,(比较 原图的宽/缩略图的宽  和 原图的高/缩略图的高)
                    //        if (((decimal)width) / height <= ((decimal)intThumbWidth) / intThumbHeight)
                    //        {
                    //            smallWidth = intThumbWidth;
                    //            smallHeight = intThumbWidth * height / width;
                    //        }
                    //        else
                    //        {
                    //            smallWidth = intThumbHeight * width / height;
                    //            smallHeight = intThumbHeight;
                    //        }

                    //        // 新建一个图板,以最小等比例压缩大小绘制原图
                    //        using (System.Drawing.Image bitmap = new System.Drawing.Bitmap(smallWidth, smallHeight))
                    //        {
                    //            //绘制中间图
                    //            using (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.Black);
                    //                g.DrawImage(
                    //                    sourceImage,
                    //                    new System.Drawing.Rectangle(0, 0, smallWidth, smallHeight),
                    //                    new System.Drawing.Rectangle(0, 0, width, height),
                    //                    System.Drawing.GraphicsUnit.Pixel);
                    //            }
                    //            //新建一个图板,以缩略图大小绘制中间图
                    //            using (System.Drawing.Image bitmap1 = new System.Drawing.Bitmap(intThumbWidth, intThumbHeight))
                    //            {
                    //                //绘制缩略图
                    //                using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap1))
                    //                {
                    //                    //高清,平滑
                    //                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
                    //                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    //                    g.Clear(Color.Black);
                    //                    int lwidth = (smallWidth - intThumbWidth) / 2;
                    //                    int bheight = (smallHeight - intThumbHeight) / 2;
                    //                    g.DrawImage(bitmap, new Rectangle(0, 0, intThumbWidth, intThumbHeight), lwidth, bheight, intThumbWidth, intThumbHeight, GraphicsUnit.Pixel);
                    //                    g.Dispose();
                    //                    //缩略图保存的绝对路径
                    //                    bitmap1.Save(newsavePath, System.Drawing.Imaging.ImageFormat.Jpeg);
                    //                }
                    //            }
                    //        }

                    //    }
                    //}
                    //catch(Exception ex)
                    //{
                    //   return ex.Message.ToString();
                    //}
                  
                }
                else
                {
                    return "图片类型不正确.";
                }

            }
            else
            {
                return "请选择不大于1M的图片.";
            }
        }
        else
        {
            return "没有选择图片";
        }
    }

.net 图片上传的更多相关文章

  1. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  2. 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  3. JS图片上传预览插件制作(兼容到IE6)

    其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...

  4. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

    最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...

  5. 对百度的UEditor多图片上传的一些补充

    我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...

  6. 使用localResizeIMG3+WebAPI实现手机端图片上传

    前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代码如下: namespace Conso ...

  7. TinyMCE的使用(包括汉化及本地图片上传功能)

    TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...

  8. 包含修改字体,图片上传等功能的文本输入框-Bootstrap

    通过jQuery Bootstrap小插件,框任何一个div转换变成一个富文本编辑框,主要特色: 在Mac和window平台下自动针对常用操作绑定热键 可以拖拽插入图片,支持图片上传(也可以获取移动设 ...

  9. PHP多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  10. .NET MVC实现多图片上传并附带参数(ajaxfileupload)

    做网站呢,都免不了要做图片上传. 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上 ...

随机推荐

  1. virsh的详细命令解析(一)

    virsh的详细命令解析 virsh 有命令模式和交互模式如果直接在vrish后面添加参数是命令模式,如果直接写virsh,就会进入交互模式 virsh list 列出所有的虚拟机,虚拟机的状态有(8 ...

  2. django模型相关的知识点

    定义属性 概述: django根据属性的类型确定以下信息 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模 ...

  3. Joint Extraction of Entities and Relations论文解析

    1. 前言 实体和关系的联合抽取问题作为信息抽取的关键任务,其实现方法可以简单分为两类: 一类是串联抽取方法.传统的串联抽取就是首先进行实体抽取,然后进行关系识别.这种分开的方法比较容易实现,而且各个 ...

  4. 中文字符通过URL转给PHP处理,导致中文乱码的解决办法!

    在JS中 var content = encodeURI(encodeURI('中文字符')); 在PHP服务端接收 header("Content-type: text/html; cha ...

  5. 适配器模式,装饰模式,代理模式异同<转>

    节前把3个设计模式的学习心得分享了一下,分别是适配器模式,装饰模式,代理模式. 但是似乎越写越有些迷糊,这三种模式都有着一些大同小异的地方,总是有些搞不清. 今天再重新学习下,把学习心得分享给大家一下 ...

  6. Selenium (1) —— Selenium安装与测试(101 Tutorial)

    Selenium (1) -- Selenium安装与测试(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standalone Selenium ...

  7. angula学习

    入门 http://www.angularjs.cn/A004 http://www.cnblogs.com/whitewolf/p/angularjs-start.html http://www.n ...

  8. 从PCD文件写入和读取点云数据

    (1)学习向PCD文件写入点云数据 建立工程文件ch2,然后新建write_pcd.cpp  CMakeLists.txt两个文件 write_pcd.cpp : #include <iostr ...

  9. 微信小程序文字水平垂直居中对齐问题

    我们知道常用的居中对齐方式有很多种例如: text-align:center; align-items:center; justify-content: center; margin: auto; # ...

  10. JSON常见操作

    1.JSON---> 字符串:JSON.stringify(json) 看如下代码: let json={"orderId":"E2018081400181122& ...