zoukankan      html  css  js  c++  java
  • 美观的单张上传控件 一个页面可以实例化多个

    首先需要引用 js 和css

    1 <!--上传控件-->
    2     <script src="query.form.min.js"></script>
    3     <link href="Img_List.css" rel="stylesheet" />
    4     <script src="Img_List.js"></script>
    Img_List.js 如下:
     1 /// <reference path="../../script/jquery-1.8.0.min.js" />
     2 //显示
     3 function imgshow(obj) {
     4     //$(obj).find("a").show();
     5 }
     6 
     7 //隐藏
     8 function imghide(obj) {
     9     //$(obj).find("a").hide();
    10 }
    11 
    12 //上传
    13 function upload() { 
    14     $("#FileLoad").click();
    15 }
    16 
    17 //删除
    18 function imgdel(listId, FileId, hfId) {
    19     
    20     $.post("/CommonModule/ashx/public.ashx?action=DelMessageImg&Files=" + $("#" + hfId).val(), function (result) {
    21         if (result != "ok")
    22             $.messager.alert("消息提示", "删除失败!");
    23      });
    24     var html = "<li><img src="/Themes/Images/jia.jpg" style="height: 80px;  80px;" /><input type="file" id=""+FileId+"" class="input" onchange="ImgUpload('"+FileId+"','"+hfId+"','"+listId+"');" name=""+FileId+"" /></li>"
    25     $("#"+listId).html(html);
    26 }
    27 
    28 //添加成功
    29 function imgaddhtml(data, code,listId,fileId,hfId) {
    30     var list = data.split(',');
    31     var html = "<li onmouseover="imgshow(this)" onmouseout="imghide(this);">";
    32     html += "<a style="height:80px;80px;" href="" + list[0] + "" target="_blank"><img src="" + list[0] + "" imgs="" + list[0] + "" code="" + code + "" /></a><span  onclick="imgdel('"+listId+"','"+fileId+"','"+hfId+"')"></span></li>";
    33     $("#" + listId).html(html);
    34 }
    35 
    36 //图片文件上传
    37 //uppath 上传空间id 
    38 //上传成功存放的图片路径的隐藏域id
    39 //listId 显示图片的区域id
    40 function ImgUpload(uppath, hndimg,listId) {
    41     var sendUrl = "/CommonModule/ashx/Upload_Ajax.ashx?action=SingleFile&IsThumbnail=1&UpFilePath=" + uppath;
    42     //开始提交
    43     $("#form1").ajaxSubmit({
    44         beforeSubmit: function (formData, jqForm, options) {
    45             //alert(1);
    46         },
    47         success: function (data, textStatus) {
    48             var list = $("#" + hndimg).val();
    49             $("#" + hndimg).val(data.msgbox);
    50             imgaddhtml(data.msgbox, 0,listId,uppath,hndimg);
    51         },
    52         error: function (data, status, e) {
    53             alert("上传失败!");
    54         },
    55         url: sendUrl,
    56         type: "post",
    57         dataType: "json",
    58         timeout: 600000
    59     });
    60 };
    View Code
    Img_List.css 如下:
    1 .img_list{ margin:0px; padding:0px;  overflow:hidden;}
    2 .img_list ul,.img_list ul li{ margin:0px; padding:0px;} 
    3 .img_list ul li{ float:left; list-style:none; position:relative; margin:5px 0px 0px 5px;}
    4 .img_list ul li span
    5 { position:absolute;top:3px; right:3px; width: 16px; height: 16px; opacity: 0.6;filter: alpha(opacity=60); margin: 0 0 0 2px;
    6 vertical-align: top; background: url('/Themes/Images/panel_tools.png') no-repeat -16px 0px;}
    7 .img_list ul li img{ width:80px; height:80px; cursor:pointer; position:relative; z-index:0;}
    8 .img_list ul li .input{ width:80px; height:80px; cursor:pointer; position:relative; left:-100px;vertical-align: top; margin:0px; padding:0px; opacity:0;filter: alpha(opacity=0); }
    View Code

    panel_tools.png 如下:

    jia.jpg 如下:

    以上素材引用完成后 再看 前台页面代码:

     1 <tr>
     2                         <th>图片1:</th>
     3                         <td>
     4                             <asp:Literal ID="ltrimg_list" runat="server"></asp:Literal>
     5                             <input type="hidden" runat="server" id="ImgPath" name="ImgPath" />
     6                             <span style="color:blue;">建议尺寸(243*150)</span>
     7                         </td>
     8                     </tr>
     9 
    10 <tr>
    11                         <th>图片2:</th>
    12                         <td>
    13                             <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    14                           
    15                             <input type="hidden" runat="server" id="hkImgPath" name="hkImgPath" />
    16                              <span style="color:blue;">建议尺寸(243*150)</span>
    17                         </td>
    18                     </tr>
    View Code

    后台页面代码 (初始化控件) :

     1  protected void Page_Load(object sender, EventArgs e)
     2         {
     3           
     4             if (!IsPostBack)
     5             {
     6                ltrimg_list.Text = UpLoad.showUploadFile("File1", "ImgPath", mfmodel.ImgPath, "img_list1");
     7                 Literal1.Text = UpLoad.showUploadFile("File2", "hkImgPath", mfmodel.hkImgPath, "img_list2");
     8                    
     9             }
    10         }
    View Code

    生成上传控件方法

     1   /// <summary>
     2         /// 生成一个上传插件信息
     3         /// </summary>
     4         /// <param name="fileId">上传控件id</param>
     5         /// <param name="hfId">隐藏域id用来保存上传的图片路径</param>
     6         /// <param name="imgUrl">初始化显示的图片地址</param>
     7         /// <param name="listId">上传成功之后用来显示上传图片的标签id</param>
     8         /// <returns></returns>
     9         public static string showUploadFile(string fileId, string hfId, string imgUrl, string listId)
    10         {
    11             string result = "";
    12             if (!string.IsNullOrEmpty(imgUrl))
    13             {
    14                 result = "<div class="img_list"><ul id="" + listId + ""><li onmouseover="imgshow(this)" onmouseout="imghide(this);"><a style="height:80px;80px;" href="" + imgUrl + "" target="_blank"><img src="" + imgUrl + "" imgs="" + imgUrl + "" code="0" /></a><span onclick="imgdel('" + listId + "','" + fileId + "','" + hfId + "')"></span></li></ul></div>";
    15             }
    16             else
    17             {
    18                 result = "<div class="img_list"><ul id="" + listId + ""><li><img src="/Themes/Images/jia.jpg" style="height: 80px;  80px;" /><input type="file" id="" + fileId + ""class="input" onchange="ImgUpload('" + fileId + "','" + hfId + "','" + listId + "')" name="" + fileId + "" /></li></ul></div>";
    19             }
    20 
    21             return result;
    22         }
    View Code

    上传文件的方法ashx:

      1 using System;
      2 using System.Collections;
      3 using System.Collections.Generic;
      4 using System.IO;
      5 using System.Linq;
      6 using System.Text.RegularExpressions;
      7 using System.Web;
      8 using DotNet.Kernel.Common;
      9 using DotNet.Utilities;
     10 using LitJson;
     11 
     12 namespace BPMS.WEB.Admin.ashx
     13 {
     14     /// <summary>
     15     /// Upload_Ajax 的摘要说明
     16     /// </summary>
     17     public class Upload_Ajax : IHttpHandler
     18     {
     19 
     20         public void ProcessRequest(HttpContext context)
     21         {
     22             //取得处事类型
     23             string action = context.Request.QueryString["action"];
     24 
     25             switch (action)
     26             {
     27                 case "SingleFile": //单文件
     28                     SingleFile(context);
     29                     break;
     30                 case "MultipleFile": //多文件
     31                     MultipleFile(context);
     32                     break;
     33                 case "AttachFile": //附件
     34                     AttachFile(context);
     35                     break;
     36                 case "EditorFile": //编辑器文件
     37                     EditorFile(context);
     38                     break;
     39 
     40             }
     41         }
     42 
     43 
     44 
     45         #region 上传单文件处理===================================
     46         private void SingleFile(HttpContext context)
     47         {
     48 
     49             string _refilepath = context.Request.QueryString["ReFilePath"]; //取得返回的对象名称
     50             string _upfilepath = context.Request.QueryString["UpFilePath"]; //取得上传的对象名称
     51             string _delfile = context.Request.QueryString[_refilepath];
     52             HttpPostedFile _upfile = null;
     53             try
     54             {
     55                 _upfile = context.Request.Files[_upfilepath];
     56             }
     57             catch (Exception e)
     58             {
     59                 context.Response.Write("{"msg": "0", "msgbox": "上传文件过大!"}");
     60                 context.Response.End();
     61             }
     62             bool _iswater = false; //默认不打水印
     63             bool _isthumbnail = false; //默认不生成缩略图
     64             bool _isimage = false;
     65 
     66             if (context.Request.QueryString["IsWater"] == "1")
     67                 _iswater = true;
     68             if (context.Request.QueryString["IsThumbnail"] == "1")
     69                 _isthumbnail = true;
     70             if (context.Request.QueryString["IsImage"] == "1")
     71                 _isimage = true;
     72 
     73             if (_upfile == null)
     74             {
     75                 context.Response.Write("{"msg": "0", "msgbox": "请选择要上传文件!"}");
     76                 return;
     77             }
     78             UpLoad upFiles = new UpLoad();
     79             string msg = upFiles.fileSaveAs(_upfile, _isthumbnail, _iswater, _isimage);
     80             //删除已存在的旧文件
     81             Utils.DeleteUpFile(_delfile);
     82             //返回成功信息
     83             context.Response.Write(msg);
     84 
     85             context.Response.End();
     86         }
     87         #endregion
     88 
     89         #region 上传多文件处理===================================
     90         private void MultipleFile(HttpContext context)
     91         {
     92             string _upfilepath = context.Request.QueryString["UpFilePath"]; //取得上传的对象名称
     93             HttpPostedFile _upfile = context.Request.Files[_upfilepath];
     94             bool _iswater = false; //默认不打水印
     95             bool _isthumbnail = false; //默认不生成缩略图
     96 
     97             if (context.Request.QueryString["IsWater"] == "1")
     98                 _iswater = true;
     99             if (context.Request.QueryString["IsThumbnail"] == "1")
    100                 _isthumbnail = true;
    101 
    102             if (_upfile == null)
    103             {
    104                 context.Response.Write("{"msg": "0", "msgbox": "请选择要上传文件!"}");
    105                 return;
    106             }
    107             UpLoad upFiles = new UpLoad();
    108             string msg = upFiles.fileSaveAs(_upfile, _isthumbnail, _iswater);
    109             //返回成功信息
    110             context.Response.Write(msg);
    111             context.Response.End();
    112         }
    113         #endregion
    114 
    115         #region 上传附件处理=====================================
    116         private void AttachFile(HttpContext context)
    117         {
    118             string _upfilepath = context.Request.QueryString["UpFilePath"]; //取得上传的对象名称
    119             HttpPostedFile _upfile = context.Request.Files[_upfilepath];
    120             bool _iswater = false; //默认不打水印
    121             bool _isthumbnail = false; //默认不生成缩略图
    122 
    123             if (_upfile == null)
    124             {
    125                 context.Response.Write("{"msg": "0", "msgbox": "请选择要上传文件!"}");
    126                 return;
    127             }
    128             UpLoad upFiles = new UpLoad();
    129             string msg = upFiles.fileSaveAs(_upfile, _isthumbnail, _iswater, false, true);
    130             //返回成功信息
    131             context.Response.Write(msg);
    132             context.Response.End();
    133         }
    134         #endregion
    135 
    136         #region 编辑器上传处理===================================
    137         private void EditorFile(HttpContext context)
    138         {
    139             bool _iswater = false; //默认不打水印
    140             if (context.Request.QueryString["IsWater"] == "1")
    141                 _iswater = true;
    142             HttpPostedFile imgFile = context.Request.Files["imgFile"];
    143             if (imgFile == null)
    144             {
    145                 showError(context, "请选择要上传文件!");
    146                 return;
    147             }
    148             UpLoad upFiles = new UpLoad();
    149             string remsg = upFiles.fileSaveAs(imgFile, false, _iswater);
    150             //string pattern = @"^{s*msg:s*(.*)s*,s*msgbox:s*""(.*)""s*}$"; //键名前和键值前后都允许出现空白字符
    151             string pattern = @"^{s*""msg"":s*""(.*)""s*,s*""msgbox"":s*""(.*)""s*}$"; //键名前和键值前后都允许出现空白字符
    152             Regex r = new Regex(pattern, RegexOptions.IgnoreCase); //正则表达式实例,不区分大小写
    153             Match m = r.Match(remsg); //搜索匹配项
    154             string msg = m.Groups[1].Value; //msg的值,正则表达式中第1个圆括号捕获的值
    155             string msgbox = m.Groups[2].Value; //msgbox的值,正则表达式中第2个圆括号捕获的值 
    156             if (msg == "0")
    157             {
    158                 showError(context, msgbox);
    159                 return;
    160             }
    161             Hashtable hash = new Hashtable();
    162             hash["error"] = 0;
    163             hash["url"] = msgbox;
    164             context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8");
    165 
    166             string result = JsonMapper.ToJson(hash);
    167             //result = result.Replace("[","");
    168             //result = result.Replace("]", "");
    169             context.Response.Write(result);
    170             
    171            context.Response.End();
    172 
    173         }
    174         //显示错误
    175         private void showError(HttpContext context, string message)
    176         {
    177             Hashtable hash = new Hashtable();
    178             hash["error"] = 1;
    179             hash["message"] = message;
    180             context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8");
    181             context.Response.Write(JsonMapper.ToJson(hash));
    182             context.Response.End();
    183         }
    184         #endregion
    185 
    186 
    187 
    188         #region Helper
    189         public class NameSorter : IComparer
    190         {
    191             public int Compare(object x, object y)
    192             {
    193                 if (x == null && y == null)
    194                 {
    195                     return 0;
    196                 }
    197                 if (x == null)
    198                 {
    199                     return -1;
    200                 }
    201                 if (y == null)
    202                 {
    203                     return 1;
    204                 }
    205                 FileInfo xInfo = new FileInfo(x.ToString());
    206                 FileInfo yInfo = new FileInfo(y.ToString());
    207 
    208                 return xInfo.FullName.CompareTo(yInfo.FullName);
    209             }
    210         }
    211 
    212         public class SizeSorter : IComparer
    213         {
    214             public int Compare(object x, object y)
    215             {
    216                 if (x == null && y == null)
    217                 {
    218                     return 0;
    219                 }
    220                 if (x == null)
    221                 {
    222                     return -1;
    223                 }
    224                 if (y == null)
    225                 {
    226                     return 1;
    227                 }
    228                 FileInfo xInfo = new FileInfo(x.ToString());
    229                 FileInfo yInfo = new FileInfo(y.ToString());
    230 
    231                 return xInfo.Length.CompareTo(yInfo.Length);
    232             }
    233         }
    234 
    235         public class TypeSorter : IComparer
    236         {
    237             public int Compare(object x, object y)
    238             {
    239                 if (x == null && y == null)
    240                 {
    241                     return 0;
    242                 }
    243                 if (x == null)
    244                 {
    245                     return -1;
    246                 }
    247                 if (y == null)
    248                 {
    249                     return 1;
    250                 }
    251                 FileInfo xInfo = new FileInfo(x.ToString());
    252                 FileInfo yInfo = new FileInfo(y.ToString());
    253 
    254                 return xInfo.Extension.CompareTo(yInfo.Extension);
    255             }
    256         }
    257 
    258         #endregion
    259 
    260         public bool IsReusable
    261         {
    262             get
    263             {
    264                 return false;
    265             }
    266         }
    267     }
    268 }
    View Code
      1 using System;
      2 using System.Collections;
      3 using System.Collections.Generic;
      4 using System.IO;
      5 using System.Linq;
      6 using System.Web;
      7 using DotNet.Kernel.Common;
      8 
      9 namespace BPMS.WEB
     10 {
     11     public class UpLoad
     12     {
     13         public UpLoad()
     14         {
     15 
     16         }
     17         /// <summary>
     18         /// 生成一个上传插件信息
     19         /// </summary>
     20         /// <param name="fileId">上传控件id</param>
     21         /// <param name="hfId">隐藏域id用来保存上传的图片路径</param>
     22         /// <param name="imgUrl">初始化显示的图片地址</param>
     23         /// <param name="listId">上传成功之后用来显示上传图片的标签id</param>
     24         /// <returns></returns>
     25         public static string showUploadFile(string fileId, string hfId, string imgUrl, string listId)
     26         {
     27             string result = "";
     28             if (!string.IsNullOrEmpty(imgUrl))
     29             {
     30                 result = "<div class="img_list"><ul id="" + listId + ""><li onmouseover="imgshow(this)" onmouseout="imghide(this);"><a style="height:80px;80px;" href="" + imgUrl + "" target="_blank"><img src="" + imgUrl + "" imgs="" + imgUrl + "" code="0" /></a><span onclick="imgdel('" + listId + "','" + fileId + "','" + hfId + "')"></span></li></ul></div>";
     31             }
     32             else
     33             {
     34                 result = "<div class="img_list"><ul id="" + listId + ""><li><img src="/Themes/Images/jia.jpg" style="height: 80px;  80px;" /><input type="file" id="" + fileId + ""class="input" onchange="ImgUpload('" + fileId + "','" + hfId + "','" + listId + "')" name="" + fileId + "" /></li></ul></div>";
     35             }
     36 
     37             return result;
     38         }
     39         #region
     40         /// <summary>
     41         /// 裁剪图片并保存
     42         /// </summary>
     43         public bool cropSaveAs(string fileName, string newFileName, int maxWidth, int maxHeight, int cropWidth, int cropHeight, int X, int Y)
     44         {
     45             string fileExt = Utils.GetFileExt(fileName); //文件扩展名,不含“.”
     46             if (!IsImage(fileExt))
     47             {
     48                 return false;
     49             }
     50             string newFileDir = Utils.GetMapPath(newFileName.Substring(0, newFileName.LastIndexOf(@"/") + 1));
     51             //检查是否有该路径,没有则创建
     52             if (!Directory.Exists(newFileDir))
     53             {
     54                 Directory.CreateDirectory(newFileDir);
     55             }
     56             try
     57             {
     58                 string fileFullPath = Utils.GetMapPath(fileName);
     59                 string toFileFullPath = Utils.GetMapPath(newFileName);
     60                 return Thumbnail.MakeThumbnailImage(fileFullPath, toFileFullPath, 180, 180, cropWidth, cropHeight, X, Y);
     61             }
     62             catch
     63             {
     64                 return false;
     65             }
     66         }
     67 
     68         /// <summary>
     69         /// 文件上传方法A
     70         /// </summary>
     71         /// <param name="postedFile">文件流</param>
     72         /// <param name="isThumbnail">是否生成缩略图</param>
     73         /// <param name="isWater">是否打水印</param>
     74         /// <returns>服务器文件路径</returns>
     75         public string fileSaveAs(HttpPostedFile postedFile, bool isThumbnail, bool isWater)
     76         {
     77             return fileSaveAs(postedFile, isThumbnail, isWater, false, false);
     78         }
     79 
     80         /// <summary>
     81         /// 文件上传方法B
     82         /// </summary>
     83         /// <param name="postedFile">文件流</param>
     84         /// <param name="isThumbnail">是否生成缩略图</param>
     85         /// <param name="isWater">是否打水印</param>
     86         /// <param name="isImage">是否必须上传图片</param>
     87         /// <returns>服务器文件路径</returns>
     88         public string fileSaveAs(HttpPostedFile postedFile, bool isThumbnail, bool isWater, bool _isImage)
     89         {
     90             return fileSaveAs(postedFile, isThumbnail, isWater, _isImage, false);
     91         }
     92 
     93         /// <summary>
     94         /// 文件上传方法C
     95         /// </summary>
     96         /// <param name="postedFile">文件流</param>
     97         /// <param name="isThumbnail">是否生成缩略图</param>
     98         /// <param name="isWater">是否打水印</param>
     99         /// <param name="isReOriginal">是否返回文件原名称</param>
    100         /// <returns>服务器文件路径</returns>
    101         public string fileSaveAs(HttpPostedFile postedFile, bool isThumbnail, bool isWater, bool _isImage, bool _isReOriginal)
    102         {
    103             try
    104             {
    105                 string fileExt = Utils.GetFileExt(postedFile.FileName); //文件扩展名,不含“.”
    106                 string originalFileName = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf(@"") + 1); //取得文件原名
    107                 string fileName = Utils.GetRamCode() + "." + fileExt; //随机文件名
    108                 string dirPath = GetUpLoadPath(); //上传目录相对路径
    109 
    110                 //检查文件扩展名是否合法
    111                 if (!CheckFileExt(fileExt))
    112                 {
    113                     return "{"msg": "0", "msgbox": "不允许上传" + fileExt + "类型的文件!"}";
    114                 }
    115                 //检查是否必须上传图片
    116                 if (_isImage && !IsImage(fileExt))
    117                 {
    118                     return "{"msg": "0", "msgbox":  "对不起,仅允许上传图片文件!"}";
    119                 }
    120                 //检查文件大小是否合法
    121                 if (!CheckFileSize(fileExt, postedFile.ContentLength))
    122                 {
    123                     return "{"msg": "0", "msgbox":  "文件超过限制的大小啦!"}";
    124                 }
    125                 //获得要保存的文件路径
    126                 string serverFileName = dirPath + fileName;
    127                 string serverThumbnailFileName = dirPath + "small_" + fileName;
    128                 string returnFileName = serverFileName;
    129                 //物理完整路径                    
    130                 string toFileFullPath = Utils.GetMapPath(dirPath);
    131                 //检查有该路径是否就创建
    132                 if (!Directory.Exists(toFileFullPath))
    133                 {
    134                     Directory.CreateDirectory(toFileFullPath);
    135                 }
    136                 //保存文件
    137                 postedFile.SaveAs(toFileFullPath + fileName);
    138                 //如果是图片,检查图片尺寸是否超出限制
    139                 if (IsImage(fileExt))
    140                 {
    141                     Thumbnail.MakeThumbnailImage(toFileFullPath + fileName, toFileFullPath + fileName, 3000, 3000);
    142                 }
    143                 //是否生成缩略图
    144                 if (IsImage(fileExt) && isThumbnail)
    145                 {
    146                     Thumbnail.MakeThumbnailImage(toFileFullPath + fileName, toFileFullPath + "small_" + fileName, 150, 150, "R");
    147                    // returnFileName += "," + serverThumbnailFileName; //返回缩略图,以逗号分隔开
    148                 }
    149                 //是否打图片水印
    150                 if (IsWaterMark(fileExt) && isWater)
    151                 {
    152                     //switch (this.siteConfig.watermarktype)
    153                     //{
    154                     //    case 1:
    155                     //        WaterMark.AddImageSignText(serverFileName, serverFileName,
    156                     //            this.siteConfig.watermarktext, this.siteConfig.watermarkposition,
    157                     //            this.siteConfig.watermarkimgquality, this.siteConfig.watermarkfont, this.siteConfig.watermarkfontsize);
    158                     //        break;
    159                     //    case 2:
    160                     //        WaterMark.AddImageSignPic(serverFileName, serverFileName,
    161                     //            this.siteConfig.watermarkpic, this.siteConfig.watermarkposition,
    162                     //            this.siteConfig.watermarkimgquality, this.siteConfig.watermarktransparency);
    163                     //        break;
    164                     //}
    165                 }
    166                 //如果需要返回原文件名
    167                 if (_isReOriginal)
    168                 {
    169                     return "{"msg": "1", "msgbox": "" + serverFileName + "", mstitle: "" + originalFileName + ""}";
    170                 }
    171                 return "{"msg": "1", "msgbox": "" + returnFileName + ""}";
    172             }
    173             catch
    174             {
    175                 return "{"msg": "0", "msgbox":  "上传过程中发生意外错误!"}";
    176             }
    177         }
    178 
    179 
    180         #region 私有方法
    181 
    182         /// <summary>
    183         /// 返回上传目录相对路径
    184         /// </summary>
    185         /// <param name="fileName">上传文件名</param>
    186         private string GetUpLoadPath()
    187         {
    188             //string path = "/Files/upload/"; //站点目录+上传目录
    189             string path = "/upload/"; //站点目录+上传目录
    190             path += DateTime.Now.ToString("yyyyMM") + "/" + DateTime.Now.ToString("dd");
    191             return path + "/";
    192         }
    193 
    194         /// <summary>
    195         /// 是否需要打水印
    196         /// </summary>
    197         /// <param name="_fileExt">文件扩展名,不含“.”</param>
    198         private bool IsWaterMark(string _fileExt)
    199         {
    200             //判断是否开启水印
    201             if (1 == 1)
    202             {
    203                 //判断是否可以打水印的图片类型
    204                 ArrayList al = new ArrayList();
    205                 al.Add("bmp");
    206                 al.Add("jpeg");
    207                 al.Add("jpg");
    208                 al.Add("png");
    209                 if (al.Contains(_fileExt.ToLower()))
    210                 {
    211                     return true;
    212                 }
    213             }
    214             return false;
    215         }
    216 
    217         /// <summary>
    218         /// 是否为图片文件
    219         /// </summary>
    220         /// <param name="_fileExt">文件扩展名,不含“.”</param>
    221         private bool IsImage(string _fileExt)
    222         {
    223             ArrayList al = new ArrayList();
    224             al.Add("bmp");
    225             al.Add("jpeg");
    226             al.Add("jpg");
    227             al.Add("gif");
    228             al.Add("png");
    229             if (al.Contains(_fileExt.ToLower()))
    230             {
    231                 return true;
    232             }
    233             return false;
    234         }
    235 
    236         /// <summary>
    237         /// 检查是否为合法的上传文件
    238         /// </summary>
    239         private bool CheckFileExt(string _fileExt)
    240         {
    241             //检查危险文件
    242             string[] excExt = { "asp", "aspx", "php", "jsp", "htm", "html" };
    243             for (int i = 0; i < excExt.Length; i++)
    244             {
    245                 if (excExt[i].ToLower() == _fileExt.ToLower())
    246                 {
    247                     return false;
    248                 }
    249             }
    250             //检查合法文件
    251             string[] allowExt = { "gif", "jpg", "png", "bmp", "rar", "zip", "doc", "xls", "txt" };
    252             for (int i = 0; i < allowExt.Length; i++)
    253             {
    254                 if (allowExt[i].ToLower() == _fileExt.ToLower())
    255                 {
    256                     return true;
    257                 }
    258             }
    259             return false;
    260         }
    261 
    262         /// <summary>
    263         /// 检查文件大小是否合法
    264         /// </summary>
    265         /// <param name="_fileExt">文件扩展名,不含“.”</param>
    266         /// <param name="_fileSize">文件大小(KB)</param>
    267         private bool CheckFileSize(string _fileExt, int _fileSize)
    268         {
    269             //判断是否为图片文件
    270             if (IsImage(_fileExt))
    271             {
    272                 if (_fileSize > 10000 * 10240)
    273                 {
    274                     return false;
    275                 }
    276             }
    277             else
    278             {
    279                 if (_fileSize > 10000 * 10240)
    280                 {
    281                     return false;
    282                 }
    283             }
    284             return true;
    285         }
    286 
    287         #endregion
    288 
    289         #endregion
    290     }
    291 }
    View Code

     

  • 相关阅读:
    大熊君JavaScript插件化开发------(第二季)
    大熊君JavaScript插件化开发------(第一季)
    大熊君大话NodeJS之------基于Connect中间件的小应用(Bigbear记事本应用之第一篇)
    大熊君大话NodeJS之 ------ Connect中间件第二季(源码分析)
    大熊君大话NodeJS之------Connect中间件模块(第一季)
    大熊君大话NodeJS之------MongoDB模块(额外篇)
    大熊君大话NodeJS之------(Url,QueryString,Path)模块
    The SSL certificate used to load resources from xxx will be distrusted in M70.
    理解ios 11中webview的视口
    谨慎升级到HTTPS
  • 原文地址:https://www.cnblogs.com/jiebo/p/4300817.html
Copyright © 2011-2022 走看看