예제 #1
0
 /// <summary>
 /// 保存所有文件
 /// </summary>
 /// <param name="files">文件对象</param>
 /// <param name="content">内容(如果有的话)</param>
 /// <param name="explain">阐述(如果有的话)</param>
 /// <param name="wmPoint">水印位置</param>
 /// <param name="wmPath">水印文件路径</param>
 /// <returns>附件列表</returns>
 public string SaveAs(HttpFileCollection files, ref string content, ref string explain, int wmPoint, string wmPath)
 {
     string result = string.Empty;
     for (int i = 0; i < files.Count; i++)
     {
         if (files[i] != null && files[i].ContentLength > 0)
         {
             FileInfo tempFileInfo = new FileInfo(files[i].FileName);
             if (!string.IsNullOrEmpty(tempFileInfo.Extension))
             {
                 //保存文件
                 string saveFolder = "Attach/" + DateTime.Now.ToString("yyyyMM") + "/";
                 string savePath = saveFolder + DateTime.Now.ToString("ddHHmmss") + "-" + tempFileInfo.Name;
                 if (!Directory.Exists(Path.Combine(SiteCfg.Router, saveFolder))) { Directory.CreateDirectory(Path.Combine(SiteCfg.Router, saveFolder)); }
                 if (wmPoint > 0 && File.Exists(wmPath) && (tempFileInfo.Extension.ToLower() == ".bmp" || tempFileInfo.Extension.ToLower() == ".gif" || tempFileInfo.Extension.ToLower() == ".jpg" || tempFileInfo.Extension.ToLower() == ".png"))
                 {
                     files[i].SaveAs(Path.Combine(SiteCfg.Router, "Common/Temp/" + tempFileInfo.Name));
                     new SiteWatermark().HandleImage(Path.Combine(SiteCfg.Router, "Common/Temp/" + tempFileInfo.Name), Path.Combine(SiteCfg.Router, savePath), wmPath, wmPoint, true);
                 }
                 else { files[i].SaveAs(Path.Combine(SiteCfg.Router, savePath)); }
                 //创建附件信息
                 AttachmentItem attVal = new AttachmentItem();
                 attVal.Name = tempFileInfo.Name;
                 attVal.Path = savePath;
                 attVal.Type = files[i].ContentType;
                 attVal.Size = files[i].ContentLength;
                 int tmpId = new AttachmentData(conn).InsertAttachment(attVal);
                 result += string.Format("{0},", tmpId);
                 //判断文件
                 string replaceTag = string.Format("[LocalUpload_{0}]", i);
                 string replaceImgHtml = string.Format("<span class=\"sysAttachImage\"><img src=\"{0}\"/></span>", SiteCfg.Path + savePath);
                 string replaceFileHtml = string.Format("<span class=\"sysAttachDownload\"><a href=\"{0}\">{1}</a></span>", SiteCfg.Path + savePath, SiteDat.GetLan("ClickDown"));
                 string replaceMusicHtml = string.Format("<span class=\"sysAttachMusic\"><embed type=\"application/x-shockwave-flash\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-4445535400000\" src=\"{0}Common/Editor/player.swf?soundFile={1}&amp;t=swf\" wmode=\"opaque\" quality=\"high\" menu=\"false\" play=\"true\" loop=\"true\" allowfullscreen=\"true\" height=\"26\" width=\"300\" /></span>", SiteCfg.Path, SiteFun.UrlEncode(SiteCfg.Path + savePath));
                 //格式化内容数据
                 if (tempFileInfo.Extension.ToUpper() == ".BMP" || tempFileInfo.Extension.ToUpper() == ".GIF" || tempFileInfo.Extension.ToUpper() == ".JPG" || tempFileInfo.Extension.ToUpper() == ".PNG")
                 {
                     if (!string.IsNullOrEmpty(content)) { content = content.Replace(replaceTag, replaceImgHtml); }
                     if (!string.IsNullOrEmpty(explain)) { explain = explain.Replace(replaceTag, replaceImgHtml); }
                 }
                 else if (tempFileInfo.Extension.ToUpper() == ".MP3")
                 {
                     if (!string.IsNullOrEmpty(content)) { content = content.Replace(replaceTag, replaceMusicHtml); }
                     if (!string.IsNullOrEmpty(explain)) { explain = explain.Replace(replaceTag, replaceMusicHtml); }
                 }
                 else
                 {
                     if (!string.IsNullOrEmpty(content)) { content = content.Replace(replaceTag, replaceFileHtml); }
                     if (!string.IsNullOrEmpty(explain)) { explain = explain.Replace(replaceTag, replaceFileHtml); }
                 }
             }
         }
     }
     if (result.Length > 0) { result = result.Remove(result.Length - 1); }
     return result;
 }
예제 #2
0
 /// <summary>
 /// 获取附件记录
 /// </summary>
 /// <param name="id">附件编号</param>
 /// <returns>返回附件记录记录数据</returns>
 public AttachmentItem GetAttachment(int id)
 {
     AttachmentItem item = new AttachmentItem();
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Attach]", "[ID], [Name], [Path], [Type], [Size], [Publish]", string.Format("[ID] = {0}", id), null, null, 1, 1, ref rows))
     {
         while (reader.Read())
         {
             item.ID = reader.GetInt32(0);
             item.Name = reader.GetString(1);
             item.Path = reader.GetString(2);
             item.Type = reader.GetString(3);
             item.Size = reader.GetInt32(4);
             item.Publish = reader.GetDateTime(5);
         }
     }
     return item;
 }
예제 #3
0
 /// <summary>
 /// 添加一个附件记录
 /// </summary>
 /// <param name="value">附件记录数据</param>
 /// <returns>返回新增的附件记录编号</returns>
 public int InsertAttachment(AttachmentItem value)
 {
     int id = 0;
     _DbParameter[] pars ={
                             new _DbParameter().Set("@Name", DbType.String, value.Name),
                             new _DbParameter().Set("@Path", DbType.String, value.Path),
                             new _DbParameter().Set("@Type", DbType.String, value.Type),
                             new _DbParameter().Set("@Size", DbType.Int64, value.Size),
                             new _DbParameter().Set("@Publish", DbType.String, value.Publish.ToString("yyyy-MM-dd HH:mm:ss"))
                         };
     conn.ExecuteNonQuery("INSERT INTO [Attach] ([Name], [Path], [Type], [Size], [Publish]) VALUES (@Name, @Path, @Type, @Size, @Publish)", pars);
     id = Convert.ToInt32(conn.ExecuteNewField("[Attach]", null, null));
     return id;
 }
예제 #4
0
 /// <summary>
 /// 筛选附件记录
 /// </summary>
 /// <param name="ids">编号列表(例如:0,1,79,80)</param>
 /// <returns>返回附件记录记录数据列表</returns>
 public DataList<AttachmentItem> SelectAttachment(string ids)
 {
     DataList<AttachmentItem> list = new DataList<AttachmentItem>();
     if (!string.IsNullOrEmpty(ids))
     {
         ids = ids.Replace(" ", string.Empty);
         string[] arrIds = ids.Split(',');
         if (arrIds.Length > 0)
         {
             string trueIds = "0";
             foreach (string id in arrIds)
             {
                 if (Regex.IsMatch(id, @"^\d+$")) { trueIds += string.Format("{0},", id); }
             }
             if (trueIds.Length > 1) { trueIds = trueIds.Substring(0, trueIds.Length - 1); }
             using (IDataReader reader = conn.ExecuteReader(string.Format("SELECT [ID], [Name], [Path], [Type], [Size], [Publish] FROM [Attach] WHERE [ID] IN ({0})", trueIds)))
             {
                 while (reader.Read())
                 {
                     AttachmentItem item = new AttachmentItem();
                     item.ID = reader.GetInt32(0);
                     item.Name = reader.GetString(1);
                     item.Path = reader.GetString(2);
                     item.Type = reader.GetString(3);
                     item.Size = reader.GetInt32(4);
                     item.Publish = reader.GetDateTime(5);
                     list.Add(item);
                 }
             }
         }
     }
     return list;
 }
예제 #5
0
 /// <summary>
 /// 筛选附件记录
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <returns>返回附件记录记录数据列表</returns>
 public DataList<AttachmentItem> SelectAttachment(int intCurPage, int btePerPage)
 {
     DataList<AttachmentItem> list = new DataList<AttachmentItem>();
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Attach]", "[ID], [Name], [Path], [Type], [Size], [Publish]", null, "[ID]", "DESC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             AttachmentItem item = new AttachmentItem();
             item.ID = reader.GetInt32(0);
             item.Name = reader.GetString(1);
             item.Path = reader.GetString(2);
             item.Type = reader.GetString(3);
             item.Size = reader.GetInt32(4);
             item.Publish = reader.GetDateTime(5);
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }