原文发布时间为:2009-08-30 —— 来源于本人的百度文章 [由搬家工具导入]

#region 上传图片及上传缩略图
    public class UpFile : System.Web.UI.Page
    {

        /// <summary>
        /// 上传图片jpg/jpeg/gif/bmp格式
        /// 创建:2009-06-09
        /// 作者:HandBoy
        /// </summary>

        private string fileName = String.Empty;
        public string FileName
        {
            get { return fileName; }
            set { fileName = value; }
        }

        /// <summary>
        /// 上传图片,需设置上传目录
        /// </summary>
        /// <param name="postFile">FileUpload1.PostedFile</param>
        /// <param name="postDir">上传的目录。如:"Upload"</param>
        ///
        /// 调用例子: WebPublic.UpFile uf = new WebPublic.UpFile();
        ///             uf.upFile(FileUpload1.PostedFile, "Upload",150,120);
        ///            
        public void upFile(HttpPostedFile postFile, string postDir, int width, int height)
        {
            if (postFile.FileName.Length > 0)
            {
                int fileLength = postFile.ContentLength;
                if (fileLength / 1024 <= 500)
                {
                    string fileContentType = postFile.ContentType;
                    if (fileContentType == "image/pjpeg" || fileContentType == "image/gif" || fileContentType == "image/bmp")
                    {
                        //图片重命名
                        string nowStr = DateTime.Now.ToString("yyyyMMddHHmmss");
                        //获得文件扩展名
                        string fileType = postFile.FileName.Substring(postFile.FileName.LastIndexOf(".")).ToLower();
                        if (fileType != ".gif")
                            fileType = ".jpg";
                        fileName = nowStr + fileType;
                        //上传图片路径
                        string dir = Server.MapPath(postDir);
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }
                        string savePath = dir + "/" + fileName;
                        if (File.Exists(savePath))
                        {
                            alert("此时上传图片人数过多上传失败,请重试!");
                        }
                        else
                        {
                            postFile.SaveAs(savePath);
                            if (width != 0 && height != 0)
                            {
                                string minPath = dir + "/min_" + fileName;
                                Image img = Image.FromFile(savePath);
                                System.Drawing.Bitmap bmp = new Bitmap(img, width, height);
                                bmp.Save(minPath);
                                bmp.Dispose();
                                img.Dispose();
                            }
                            alert("图片上传成功!");
                        }
                    }
                    else
                    {
                        alert("图片格式不正确!");
                    }
                }
                else
                {
                        alert("您要上传的图片太大请上传500K以内的图片!");
                }
            }
            else
            {
                alert("请选择图片!");
            }
        }

        // <summary>
        /// 上传图片,默认目录为Upload
        /// </summary>
        ///
        /// 调用例子: WebPublic.UpFile uf = new WebPublic.UpFile();
        ///             uf.upFile(FileUpload1.PostedFile);
        ///            
        public void upFile(HttpPostedFile postFile)
        {
            upFile(postFile, "Upload", 0, 0);
        }

        ///<summary>
        /// 上传图片及缩略图,默认目录为Upload
        /// </summary>
        ///
        /// WebPublic.UpFile uf = new WebPublic.UpFile();
        /// uf.upFile(FileUpload1.PostedFile, 150,120);
        ///
        public void upFile(HttpPostedFile postFile, int width, int height)
        {
            upFile(postFile, "Upload", width, height);
        }

        #region 提示
        public static void alert(string strAlert)
        {
            string temp;
            temp = "<Script language='javascript'>";
            temp += "alert('" + strAlert + "');";
            temp += "</Script>";
            System.Web.HttpContext.Current.Response.Write(temp);
        }
       #endregion
    }
    #endregion

图片上传封装类【包括图片上传和缩略图上传】.NET的更多相关文章

  1. js插件---IUpload文件上传插件(包括图片)

    js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...

  2. H5利用formData来上传文件(包括图片,doc,pdf等各种格式)方法小结!

    H5页面中我们常需要进行文件上传,那么怎么来实现这个功能呢??? 我主要谈如下两种方法. (一).传统的form表单方法 <form action="/Home/SaveFile1&q ...

  3. dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

    http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...

  4. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

    以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...

  5. Android 上传文件,图片。以及服务器端接收相关。

    前面一篇文章写了实现照相功能的一个例子,其实那个实现效果是个略缩图.要查看全图就要先指定照片的存放路径.以后我会修改那个文章.今天先说下图片,文件等上传的实现.接着拿照片说事,光照完了不行还得往服务器 ...

  6. 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比

    在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...

  7. 前端上传视频、图片、文件等大文件 组件Plupload使用指南

    demo:https://blog.csdn.net/qq_30100043/article/details/78491993 Plupload上传插件中文帮助文档网址:http://www.phpi ...

  8. MVC与webservice上传文件(图片和视频),希望帮且到一些朋友

    最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料. 自己也折腾了半天,才把完整的代码实现完.可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见 ...

  9. Ueditor 1.4.3.1 使用 ThinkPHP 3.2.3 的上传类进行图片上传

    在 ThinkPHP 3.2.3 中集成百度编辑器最新版 Ueditor 1.4.3.1,同时将编辑器自带的上传类替换成 ThinkPHP 3.2.3 中的上传类. ① 下载编辑器(下载地址:http ...

  10. ruby -- 进阶学习(四)paperclip上传中文命名图片

         Paperclip -- 上传中文命名图片 使用Paperclip和ImageMagick插件来处理图片的时候,上传非中文命名的图片时,只要把配置写好就没问题 if you need to ...

随机推荐

  1. pycharm在同目录下import,pycharm会提示错误,但是可以运行

    原因是:    pycharm不会将当前文件目录自动加入自己的sourse_path. 解决方案:右键make_directory as-->sources path将当前工作的文件夹加入sou ...

  2. TS各个表 与 SECTION 的解析 CAS原理

    TS流,通过一个个的TS包来传送: TS包可以是传送PSI SI等各表的数据包,也可以是传送节目音视频数据(携带的PES包:音视频基本流包)的包:TS携带 PSI SI等表的数据时,各个表以各表对应的 ...

  3. 动态规划:最长上升子序列(二分算法 nlogn)

    解题心得: 1.在数据量比较大的时候n^2会明显超时,所以可以使用nlogn 的算法,此算法少了双重循环,用的lower_bound(二分法). 2.lis中的数字并没有意义,仅仅是找到最小点lis[ ...

  4. 江西理工大学编程俱乐部 2328 Star

    : Star 时间限制: C/C++ s Java/Python s 内存限制: MB 答案正确: 提交: 题目描述 31世纪,人类世界的科技已经发展到了空前的高度,星际移民,星际旅游早已经不再是问题 ...

  5. Linux系统属性文件详解

    1)inode概述 中文意思就是索引节点(index node)第一部分是inode 第二部分是block inode主要用来存放文件属性信息的(也就是ls - l 的结果)包含的属性信息包括文件的大 ...

  6. FreeMarker的<#if></#if>标签

    <#if target??> xxxx </#if> 上面这段代码判断target??是否为null,如果不为null时才可以执行if里面的内容,为null时则不进到 if里面 ...

  7. [原]sencha touch之表单(login demo)

    现在来说说sencha touch中的表单,举个简单的login的例子,相关的说明我都放在了注释中,看下面代码 Ext.application({ id:'itKingApp', launch:fun ...

  8. HDU 3032 Nim or not Nim?(Multi_SG,打表找规律)

    Nim or not Nim? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  9. 决策树python实现小样例

    我们经常使用决策树处理分类问题,近年来的调查表明决策树也是经常使用的数据挖掘算法K-NN可以完成多分类任务,但是它最大的缺点是无法给出数据的内在含义,决策树的主要优势在于数据形式非常容易理解决策树的优 ...

  10. phpmyadmin漏洞利用general_log和general_log_file拿权限

    我们如果知道phpmyadmin和网站的绝对路径后,可以利用into outfile写马拿到权限,但是吧有新版本的mysql和一些系统设置的问题这个函数受到了secure-file-priv这个的影响 ...