public static PhotoInfo GetPhotoEntity(IDataReader reader) { PhotoInfo photoinfo = new PhotoInfo(); photoinfo.Photoid = TypeConverter.ObjectToInt(reader["photoid"]); photoinfo.Filename = reader["filename"].ToString(); photoinfo.Attachment = reader["attachment"].ToString(); photoinfo.Filesize = TypeConverter.ObjectToInt(reader["filesize"]); photoinfo.Description = reader["description"].ToString(); photoinfo.Postdate = reader["postdate"].ToString(); photoinfo.Albumid = TypeConverter.ObjectToInt(reader["albumid"]); photoinfo.Userid = TypeConverter.ObjectToInt(reader["userid"]); photoinfo.Title = reader["title"].ToString(); photoinfo.Views = TypeConverter.ObjectToInt(reader["views"]); photoinfo.Commentstatus = (PhotoStatus)TypeConverter.ObjectToInt(reader["commentstatus"]); photoinfo.Tagstatus = (PhotoStatus)TypeConverter.ObjectToInt(reader["tagstatus"]); photoinfo.Comments = TypeConverter.ObjectToInt(reader["comments"]); photoinfo.Username = reader["username"].ToString(); return photoinfo; }
public int AddSpacePhoto(PhotoInfo photoinfo) { DbParameter[] parms = { DbHelper.MakeInParam("@userid", (DbType)SqlDbType.Int, 4,photoinfo.Userid), DbHelper.MakeInParam("@username", (DbType)SqlDbType.NChar, 20, photoinfo.Username), DbHelper.MakeInParam("@title", (DbType)SqlDbType.NChar, 20,photoinfo.Title), DbHelper.MakeInParam("@albumid", (DbType)SqlDbType.Int, 4,photoinfo.Albumid), DbHelper.MakeInParam("@filename", (DbType)SqlDbType.NVarChar, 255,photoinfo.Filename), DbHelper.MakeInParam("@attachment", (DbType)SqlDbType.NVarChar, 255,photoinfo.Attachment), DbHelper.MakeInParam("@filesize", (DbType)SqlDbType.Int, 4,photoinfo.Filesize), DbHelper.MakeInParam("@description", (DbType)SqlDbType.NVarChar, 200,photoinfo.Description), DbHelper.MakeInParam("@isattachment",(DbType)SqlDbType.Int,4,photoinfo.IsAttachment), DbHelper.MakeInParam("@commentstatus", (DbType)SqlDbType.TinyInt, 1, (byte)photoinfo.Commentstatus), DbHelper.MakeInParam("@tagstatus", (DbType)SqlDbType.TinyInt, 1, (byte)photoinfo.Tagstatus) }; string commandText = String.Format("INSERT INTO [{0}photos] ([userid], [username], [title], [albumid], [filename], [attachment], [filesize], [description],[isattachment],[commentstatus], [tagstatus]) VALUES ( @userid, @username, @title, @albumid, @filename, @attachment, @filesize, @description,@isattachment, @commentstatus, @tagstatus);SELECT SCOPE_IDENTITY()", BaseConfigs.GetTablePrefix); //向关联表中插入相关数据 return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(CommandType.Text, commandText, parms)); }
private static PhotoInfo GetPhotoEntity(IDataReader reader) { PhotoInfo p = new PhotoInfo(); p.Photoid = Utils.StrToInt(reader["photoid"], 0); p.Filename = reader["filename"].ToString(); p.Title = reader["title"].ToString(); p.Filesize = Utils.StrToInt(reader["filesize"], 0); return p; }
protected override string OnAttachCreated(SAS.Entity.AttachmentInfo[] attachs, int usergroupid, int userid, string username) { if (attachs == null) { return ""; } string[] albumsid = SASRequest.GetString("albums") == "" ? null : SASRequest.GetString("albums").Split(','); if (albumsid == null) return ""; int maxphotosize = UserGroups.GetUserGroupInfo(usergroupid).ug_maxspacephotosize; int currentphotisize = DbProvider.GetInstance().GetPhotoSizeByUserid(userid); for (int i = 0; i < attachs.Length; i++) { if (attachs[i].Filename != "" && (attachs[i].Filetype == "image/pjpeg") || (attachs[i].Filetype == "image/gif") || (attachs[i].Filetype == "image/x-png")) { //空间查检 string aid = albumsid[i + 1]; if (aid != "0") { if ((maxphotosize - currentphotisize - (int)attachs[i].Filesize) > 0) { string filename = Utils.GetMapPath(BaseConfigs.GetSitePath + "upload/" + attachs[i].Filename.Replace('\\', '/')); string extension = Path.GetExtension(filename); Common.Thumbnail.MakeThumbnailImage(filename, filename.Replace(extension, "_thumbnail" + extension), 150, 150); Common.Thumbnail.MakeSquareImage(filename, filename.Replace(extension, "_square" + extension), 100); PhotoInfo photoinfo = new PhotoInfo(); photoinfo.Filename = "upload/" + attachs[i].Filename.Replace('\\', '/'); photoinfo.Attachment = attachs[i].Attachment; photoinfo.Filesize = (int)attachs[i].Filesize; photoinfo.Title = attachs[i].Attachment.Remove(attachs[i].Attachment.IndexOf(".")); photoinfo.Description = attachs[i].Description; photoinfo.Albumid = int.Parse(aid); photoinfo.Userid = userid; photoinfo.Username = username; photoinfo.Views = 0; photoinfo.Commentstatus = 0; photoinfo.Tagstatus = 0; photoinfo.Comments = 0; photoinfo.IsAttachment = 1; DbProvider.GetInstance().AddSpacePhoto(photoinfo); AlbumInfo albumInfo = DTOProvider.GetAlbumInfo(Convert.ToInt32(aid)); albumInfo.Imgcount = DbProvider.GetInstance().GetSpacePhotoCountByAlbumId(int.Parse(aid)); DbProvider.GetInstance().SaveSpaceAlbum(albumInfo); currentphotisize += (int)attachs[i].Filesize; } else { return "相册空间不足,可能有图片未能加入相册"; } } } } return ""; }
public static SAS.Common.Generic.List<PhotoInfo> GetSpacePhotosInfo(DataTable dt) { if (dt == null || dt.Rows.Count == 0) return new SAS.Common.Generic.List<PhotoInfo>(); SAS.Common.Generic.List<PhotoInfo> photosinfoarray = new SAS.Common.Generic.List<PhotoInfo>(); for (int i = 0; i < dt.Rows.Count; i++) { PhotoInfo photo = new PhotoInfo(); photo.Photoid = TypeConverter.ObjectToInt(dt.Rows[i]["photoid"]); photo.Filename = dt.Rows[i]["filename"].ToString(); photo.Attachment = dt.Rows[i]["attachment"].ToString(); photo.Filesize = TypeConverter.ObjectToInt(dt.Rows[i]["filesize"]); photo.Description = dt.Rows[i]["description"].ToString(); photo.Postdate = dt.Rows[i]["postdate"].ToString(); photo.Albumid = TypeConverter.ObjectToInt(dt.Rows[i]["albumid"]); photo.Userid = TypeConverter.ObjectToInt(dt.Rows[i]["userid"]); photo.Title = dt.Rows[i]["title"].ToString(); photo.Views = TypeConverter.ObjectToInt(dt.Rows[i]["views"]); photo.Commentstatus = (PhotoStatus)TypeConverter.ObjectToInt(dt.Rows[i]["commentstatus"]); photo.Tagstatus = (PhotoStatus)TypeConverter.ObjectToInt(dt.Rows[i]["tagstatus"]); photo.Comments = TypeConverter.ObjectToInt(dt.Rows[i]["comments"]); photosinfoarray.Add(photo); } dt.Dispose(); return photosinfoarray; }
protected override void ShowPage() { if (config.Enablealbum != 1) { AddErrLine("相册功能已被关闭"); return; } string go = SASRequest.GetString("go"); switch (go) { case "prev": mode = 1; break; case "next": mode = 2; break; default: mode = 0; break; } if (photoid < 1) { AddErrLine("指定的图片不存在"); return; } photo = DTOProvider.GetPhotoInfo(photoid, 0, 0); if (photo == null) { AddErrLine("指定的图片不存在"); return; } album = DTOProvider.GetAlbumInfo(photo.Albumid); if (album == null) { AddErrLine("指定的相册不存在"); return; } if (mode != 0) { photo = DTOProvider.GetPhotoInfo(photoid, photo.Albumid, mode); if (photo == null) { AddErrLine("指定的图片不存在"); return; } } if (config.Rssstatus == 1) { if (GeneralConfigs.GetConfig().Aspxrewrite == 1) photorssurl = string.Format("photorss-{0}{1}", photo.Userid, GeneralConfigs.GetConfig().Extname); else photorssurl = string.Format("rss.aspx?uid={0}&type=photo", photo.Userid); AddLinkRss(string.Format("tools/{0}", photorssurl), "最新图片"); } pagetitle = photo.Title; }
protected override void ShowPage() { pagetitle = "用户控制面板"; if (userid == -1) { AddErrLine("你尚未登录"); return; } user = Users.GetUserInfo(userid); if (config.Enablealbum != 1) { AddErrLine("相册功能已被关闭"); return; } if (albumid < 1) { AddErrLine("指定的相册不存在"); return; } AlbumInfo albuminfo = DTOProvider.GetAlbumInfo(albumid); if (this.userid != albuminfo.Userid) { AddErrLine("您无权限在该相册内添加照片"); return; } enabletag = config.Enabletag == 1; freephotosize = UserGroups.GetUserGroupInfo(usergroupid).ug_maxspacephotosize - Data.DbProvider.GetInstance().GetPhotoSizeByUserid(userid); albumname = albuminfo.Title; if (SASRequest.IsPost()) { if (LogicUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } HttpFileCollection files = HttpContext.Current.Request.Files; int imgcount = 0; for (int iFile = 0; iFile < files.Count; iFile++) { HttpPostedFile postedFile = files[iFile]; if (postedFile == null || postedFile.FileName == "") continue; string fileName, fileExtension; fileName = Path.GetFileName(postedFile.FileName); fileExtension = Path.GetExtension(fileName).ToLower(); if (fileExtension != ".jpg" && fileExtension != ".gif" && fileExtension != ".png" && fileExtension != ".jpeg") continue; //判断用户是否达到了照片最大上传数 int filesize = postedFile.ContentLength; if (freephotosize < filesize) { AddErrLine("照片上传空间数已满,某些照片不能再上传!<br />如果想继续上传,请删除以前旧照片!"); return; } string phototitle = SASRequest.GetFormString("phototitle" + (iFile + 1)); PhotoInfo spacephotoinfo = new PhotoInfo(); spacephotoinfo.Title = Utils.StrIsNullOrEmpty(phototitle) ? fileName.Remove(fileName.IndexOf("."), 1) : phototitle; spacephotoinfo.Albumid = albumid; spacephotoinfo.Userid = userid; string[] currentdate = DateTime.Now.ToString("yyyy-MM-dd").Split('-'); string uploaddir = ""; //当支持FTP上传远程照片 if (FTPs.GetAlbumAttachInfo.Allowupload == 1) { //当不保留本地附件模式时 if (FTPs.GetAlbumAttachInfo.Reservelocalattach == 0) uploaddir = Utils.GetMapPath(BaseConfigs.GetSitePath + "albumimgs/upload/temp/"); else uploaddir = Utils.GetMapPath(BaseConfigs.GetSitePath + "albumimgs/upload/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/"); if (!Directory.Exists(uploaddir)) Utils.CreateDir(uploaddir); string ftpfilename = Globals.UploadSpaceFile(postedFile, uploaddir, true); spacephotoinfo.Filename = FTPs.GetAlbumAttachInfo.Remoteurl + "/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/" + ftpfilename; FTPs ftps = new FTPs(); ftps.UpLoadFile("/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/", uploaddir + ftpfilename, FTPs.FTPUploadEnum.AlbumAttach); ftps = new FTPs(); ftps.UpLoadFile("/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/", uploaddir + Globals.GetThumbnailImage(ftpfilename), FTPs.FTPUploadEnum.AlbumAttach); ftps = new FTPs(); ftps.UpLoadFile("/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/", uploaddir + Globals.GetSquareImage(ftpfilename), FTPs.FTPUploadEnum.AlbumAttach); } else { uploaddir = Utils.GetMapPath(BaseConfigs.GetSitePath + "albumimgs/upload/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/"); if (!Directory.Exists(uploaddir)) Utils.CreateDir(uploaddir); spacephotoinfo.Filename = "albumimgs/upload/" + currentdate[0] + "/" + currentdate[1] + "/" + currentdate[2] + "/" + Globals.UploadSpaceFile(postedFile, uploaddir, true); } spacephotoinfo.Attachment = fileName; spacephotoinfo.Description = SASRequest.GetFormString("description" + (iFile + 1)); spacephotoinfo.Filesize = filesize; spacephotoinfo.Username = username; spacephotoinfo.IsAttachment = 0; freephotosize -= filesize; int photoid = Data.DbProvider.GetInstance().AddSpacePhoto(spacephotoinfo); string tags = SASRequest.GetString("phototag" + (iFile + 1)).Trim(); string[] tagsArray = null; if (enabletag && tags != string.Empty) { tagsArray = Utils.SplitString(tags, " ", true, 10); if (tagsArray.Length > 0) { Data.DbProvider.GetInstance().CreatePhotoTags(string.Join(" ", tagsArray), photoid, userid, Utils.GetDateTime()); AlbumTags.WritePhotoTagsCacheFile(photoid); } } imgcount++; } if (imgcount != 0) { AlbumInfo albumInfo = DTOProvider.GetAlbumInfo(albumid); albumInfo.Imgcount = Data.DbProvider.GetInstance().GetSpacePhotoCountByAlbumId(albumid); Data.DbProvider.GetInstance().SaveSpaceAlbum(albumInfo); } else { AddErrLine("没有符合要求的图片,请上传jpg,jpeg,gif,png格式的图片"); return; } //生成json数据 Albums.CreateAlbumJsonData(albumid); Albums.CreatePhotoImageByAlbum(albumid); SetUrl(string.Format("usercpmanagephoto.aspx?albumid={0}", albumid)); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("照片增加完毕"); } }