示例#1
0
文件: File.cs 项目: radtek/GitKB288
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public void Update(BCW.Model.File model)
 {
     dal.Update(model);
 }
示例#2
0
    /// <summary>
    /// 上传文件
    /// </summary>
    /// <param name="sFiles"></param>
    /// <returns></returns>
    private Boolean SaveFiles(int ptype, int newId, out string sFiles)
    {
        //图片系统缩略图设置
        int ThumbType = int.Parse(Utils.GetRequest("ThumbType", "post", 1, @"^[0-2]$", "0"));
        int width     = int.Parse(Utils.GetRequest("width", "post", 1, @"^[1-9]\d*$", "75"));
        int height    = int.Parse(Utils.GetRequest("height", "post", 1, @"^[1-9]\d*$", "100"));

        //遍历File表单元素
        System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
        try
        {
            int    k        = 0;
            int    j        = 1;
            string GetFiles = string.Empty;
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                //检查文件扩展名字
                System.Web.HttpPostedFile postedFile = files[iFile];
                string fileName, fileExtension;
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                string UpExt = ub.GetSub("UpbFileExt", xmlPath);
                if (fileName != "")
                {
                    fileExtension = System.IO.Path.GetExtension(fileName).ToLower();
                    if (UpExt.IndexOf(fileExtension) == -1)
                    {
                        continue;
                    }
                    //非法上传
                    if (fileExtension == ".asp" || fileExtension == ".aspx" || fileExtension == ".jsp" || fileExtension == ".php" || fileExtension == ".asa" || fileExtension == ".cer" || fileExtension == ".cdx" || fileExtension == ".htr" || fileExtension == ".exe")
                    {
                        continue;
                    }
                    string DirPath     = string.Empty;
                    string prevDirPath = string.Empty;
                    string Path        = string.Empty;
                    string prevPath    = string.Empty;

                    Path = "/Files/soft/";
                    if (FileTool.CreateDirectory(Path, out DirPath))
                    {
                        //生成随机文件名
                        fileName = DT.getDateTimeNum() + iFile + fileExtension;
                        string SavePath = System.Web.HttpContext.Current.Request.MapPath(DirPath) + fileName;
                        postedFile.SaveAs(SavePath);
                        //图片系统缩略图
                        if (ptype == 12)
                        {
                            if (ThumbType > 0)
                            {
                                bool pbool = false;
                                if (ThumbType == 1)
                                {
                                    pbool = true;
                                }
                                if (FileTool.CreateDirectory(prevPath, out prevDirPath))
                                {
                                    string prevSavePath = System.Web.HttpContext.Current.Request.MapPath(prevDirPath) + fileName;
                                    if (fileExtension == ".gif")
                                    {
                                        if (ThumbType > 0)
                                        {
                                            new BCW.Graph.GifHelper().GetThumbnail(SavePath, prevSavePath, width, height, pbool);
                                        }
                                    }
                                    else
                                    {
                                        if (ThumbType > 0)
                                        {
                                            new BCW.Graph.ImageHelper().ResizeImage(SavePath, prevSavePath, width, height, pbool);
                                        }
                                    }
                                }
                            }
                        }
                        if (ptype == 11 || ptype == 14)
                        {
                            GetFiles += "#" + DirPath + fileName + "";
                        }
                        else if (ptype == 12)
                        {
                            //取显示的名称
                            string fname = string.Empty;
                            if (!string.IsNullOrEmpty(Request.Form["stext" + j + ""].ToString()))
                            {
                                fname = Out.UBB(Request.Form["stext" + j + ""].Trim());
                            }
                            else
                            {
                                fname = "";
                            }

                            BCW.Model.File model = new BCW.Model.File();
                            model.Types  = 1;
                            model.NodeId = newId;
                            model.Files  = DirPath + fileName;
                            if (!string.IsNullOrEmpty(prevDirPath))
                            {
                                model.PrevFiles = prevDirPath + fileName;
                            }
                            else
                            {
                                model.PrevFiles = "";
                            }

                            model.FileSize = Convert.ToInt64(postedFile.ContentLength);
                            model.FileExt  = fileExtension;
                            model.Content  = fname;
                            model.DownNum  = 0;
                            model.AddTime  = DateTime.Now;
                            new BCW.BLL.File().Add(model);
                        }
                        else if (ptype == 13)
                        {
                            //取显示的名称
                            string fname = string.Empty;
                            if (!string.IsNullOrEmpty(Request.Form["stext" + j + ""].ToString()))
                            {
                                fname = Out.UBB(Request.Form["stext" + j + ""].Trim());
                            }
                            else
                            {
                                fname = fileName;
                            }

                            BCW.Model.File model = new BCW.Model.File();
                            model.Types     = 2;
                            model.NodeId    = newId;
                            model.Files     = DirPath + fileName;
                            model.PrevFiles = "";
                            model.FileSize  = Convert.ToInt64(postedFile.ContentLength);
                            model.FileExt   = fileExtension;
                            model.Content   = fname;
                            model.DownNum   = 0;
                            model.AddTime   = DateTime.Now;
                            new BCW.BLL.File().Add(model);
                        }
                        else
                        {
                            GetFiles += "#" + DirPath + fileName + "";
                        }
                        //封面设置
                        InsertCover(ptype, Path, SavePath, fileName, fileExtension, iFile, files.Count, newId);
                        //添加水印
                        UpdateThumb(ptype, fileExtension, SavePath);

                        k++;
                    }
                    j++;
                }
            }
            sFiles = GetFiles;
            if (k > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        catch
        {
            sFiles = "";
            return(false);
        }
    }
示例#3
0
文件: File.cs 项目: radtek/GitKB288
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Add(BCW.Model.File model)
 {
     return(dal.Add(model));
 }