Heim > Web-Frontend > HTML-Tutorial > 美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose

美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose

WBOY
Freigeben: 2016-06-24 11:49:03
Original
1548 Leute haben es durchsucht

首先需要引用 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>
Nach dem Login kopieren

Img_List.js 如下:
Nach dem Login kopieren

 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; width: 80px;\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ><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;width:80px;\" href=\"" + list[0] + "\" target=\"_blank\"><img  src=\"" + list[0] + "\" imgs=\"" + list[0] + "\" code=\"" + code + "\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ></a><span  onclick=\"imgdel('"+listId+"','"+fileId+"','"+hfId+"')\"></span></li>";33     $("#" + listId).html(html);34 }35 36 //图片文件上传37 //uppath 上传空间id 38 //上传成功存放的图片路径的隐藏域id39 //listId 显示图片的区域id40 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: 60000059     });60 };
Nach dem Login kopieren

Img_List.css 如下:
Nach dem Login kopieren

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 span5 { 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); }
Nach dem Login kopieren

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="max-width:90%">建议尺寸(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>
Nach dem Login kopieren

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

 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         }
Nach dem Login kopieren

生成上传控件方法

 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;width:80px;\" href=\"" + imgUrl + "\" target=\"_blank\"><img  src=\"" + imgUrl + "\" imgs=\"" + imgUrl + "\" code=\"0\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ></a><span onclick=\"imgdel('" + listId + "','" + fileId + "','" + hfId + "')\"></span></li></ul></div>";15             }16             else17             {18                 result = "<div class=\"img_list\"><ul id=\"" + listId + "\"><li><img  src=\"/Themes/Images/jia.jpg\" style=\"height: 80px; width: 80px;\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ><input type=\"file\" id=\"" + fileId + "\"class=\"input\" onchange=\"ImgUpload('" + fileId + "','" + hfId + "','" + listId + "')\" name=\"" + fileId + "\" /></li></ul></div>";19             }20 21             return result;22         }
Nach dem Login kopieren

上传文件的方法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         #endregion114 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         #endregion135 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         #endregion185 186 187 188         #region Helper189         public class NameSorter : IComparer190         {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 : IComparer213         {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 : IComparer236         {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         #endregion259 260         public bool IsReusable261         {262             get263             {264                 return false;265             }266         }267     }268 }
Nach dem Login kopieren

  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;width:80px;\" href=\"" + imgUrl + "\" target=\"_blank\"><img  src=\"" + imgUrl + "\" imgs=\"" + imgUrl + "\" code=\"0\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ></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; width: 80px;\" / alt="美观的单张上传控件 一个页面可以实例化多个_html/css_WEB-ITnose" ><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             try104             {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             catch174             {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             else278             {279                 if (_fileSize > 10000 * 10240)280                 {281                     return false;282                 }283             }284             return true;285         }286 287         #endregion288 289         #endregion290     }291 }
Nach dem Login kopieren

 

 

 

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage