摄影分享网设计与实现.doc

上传人:laozhun 文档编号:3019944 上传时间:2023-03-08 格式:DOC 页数:44 大小:1.54MB
返回 下载 相关 举报
摄影分享网设计与实现.doc_第1页
第1页 / 共44页
摄影分享网设计与实现.doc_第2页
第2页 / 共44页
摄影分享网设计与实现.doc_第3页
第3页 / 共44页
摄影分享网设计与实现.doc_第4页
第4页 / 共44页
摄影分享网设计与实现.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《摄影分享网设计与实现.doc》由会员分享,可在线阅读,更多相关《摄影分享网设计与实现.doc(44页珍藏版)》请在三一办公上搜索。

1、目 录摘 要1第一章 绪论31.1 选题目的和意义31.2 系统所实现的功能31.3 系统开发工具的选用4第二章 摄影分享网的设计62.1 系统框架设计62.2 系统功能模块的设计72.3数据库设计102.4存储过程16第三章 公共类及网站模板设计193.1公共类(WebHelper.cs)193.2母版页设计20第四章 网站具体功能设计224.1 前台管理界面224.2 用户登录界面234.3 用户注册界面254.4 用户界面264.5 管理员功能模块图38第五章 总结41致 谢42参考文献43摄影分享网设计与实现摘 要随着计算机和数码设备的普及,数字图片资源已成为我们日常生活中的一个重要部

2、分,对于日益增多的图片资源,如何更好地存储和有效检索已成为人们面临的一个新的课题。图片文件不同于文本文件,它以二进制方式存放于电脑中,因此实现图片管理主要有以下两种方式:第一种是将图片直接放人数据库对应的表中,这种方式的优点是实现了图库合一,但这种存储方式对数据库的容量和性能要求较高;另一种方式是将图片以文件方式存放到服务器上,并将与图片相关的信息和路径存人对应的数据表中,这种方式缩小了表的大小,同时提高数据库操作速度,故通常被基于BS的系统所广泛采用。本文以第二种方式为基础,通过对一个网络电子相册示例的阐述,详细描述如何使用ASPNET来构建网络图片管理系统。本课题使用SQL数据库、在Vis

3、ual Studio 2005平台下开发了一个B/S架构的摄影分享网站。系统主要包括以下几种功能:用户管理、目录管理、照片管理、评论管理、收藏管理,博客管理等。通过本系统可以为广大热爱摄影和图片收藏的人士提供一个很好的平台。关键字:摄影分享网 B/S架构 .NETTitle:Photo Sharing Network Design and Implementaion Abstract: With the popularization of computer and digital equipment, digital resources have become part of our dail

4、y life in an important part, for the increasing picture resources, how to better storage and retrieval becomes a new task. Picture file differs from a text file in binary mode, it is stored in the computer, thus realizing picture management mainly has the following two ways: the first is to picture

5、directly into different tables in a database, the advantage of the method is realized in a gallery, but the storage mode of database capacity and performance requirements of high; another way is to photograph documents stored on the server, and the associated with picture information and stored in t

6、he corresponding data path table, this way reduces the table size, while improving the database operation speed, so it usually is based on the B / S system widely adopted by. This article in second ways as the foundation, through a network of electronic photo album sample set, a detailed description

7、 of how to use ASP.NET to build a network management system. This paper use the SQL database, Visual Studio 2005 platform developed a B / S courses management information system. The system mainly includes the following several functions: user management, directory management, photo management, comm

8、ent management, collection management. Through this system can provide our passion for photography and picture collection to provide a good platform.Keywords: Photo Sharing Network B / S architecture . NET第一章 绪论1.1 选题目的和意义随着社会的发展,人们越来越多的会记录自己的影响资料,特别是图片,人们往往有很多照片却烦恼于如何存储,传统的相片会容易丢失和损坏,于是做一个图片管理系统,以电

9、子的形式存储这些照片便成了最好的方法,通过照片传递自己的想法和所见,可以达到一种更加友好的交流体验。 各种照片图片管理是现在互联网网站面临的一项必要任务,如何有效的实现对图片的有效管理也是一件比较重要和复杂的工作,其涉及的内容也比较广泛。因此制作一个图片管理系统是十分重要和必要的。而基于的图片管理系统可以让上网的人能够在网上分享、下载、上传照片,也便于人们搜索自己需要的图片,以此可见它的重要性可见一斑。1.2 系统所实现的功能 一、前台显示(1) 首页显示最新的照片目录功能 该功能是为游客登录网站系统时,显示网站的照片目录,并且提供查看功能。(2) 首页显示用户登录功能按钮 该功能为已经注册的

10、用户提供登录网站个人空间的功能,用户通过点击登录按钮,可以顺利的跳转到登陆界面,进行登录操作。(3) 首页显示用户注册功能按钮该功能为想在本网站注册为会员的用户提供的功能,用户通过点击注册按钮,可以顺利的跳转到注册界面,进行注册操作。 二、后台管理:分为用户后台管理和管理员后台管理 1、用户后台管理部分(1) 用户信息管理该功能提供注册用户修改自己的用户名,邮箱,个人信息还有密码的修改。(2) 照片管理: 该功能提供注册用户管理自己的照片的功能可以删除,修改等。(3) 目录管理:该功能提供注册用户管理自己已经有的目录和创建新的照片目录。(4) 上传照片: 该功能提供注册用户可以上传自己的照片到

11、已经创建的目录里。(5) 收藏管理: 该功能提供注册用户可以收藏自己喜欢的照片,以便以后再次查看。(6) 评论管理: 该功能提供注册用户对看到的图片进行评论的功能和管理评论的功能,可以删除评论。(7) 照片详细页面:该功能提供注册用户对自己看到图片的缩略图进行放大查看的功能。 (8) 博客管理 该功能提供给注册用户分享自己的拍照经验、心得、灵感和自己的想法等。 2、管理员后台管理部分(1) 用户管理: 该功能主要是对已经注册的用户进行管理,对违规的用户进行删除和邮件提醒警告灯。(2) 相册管理: 该功能主要对网站中的所有相册进行管理对发现的违规相册进行删除操作。(3) 照片管理: 该功能主要对

12、网站中的所有相片进行管理,对发现的违规招牌进行删除操作。(4) 评论管理: 该功能主要对网站中照片的恶意评论进行管理,对发现的违规恶意评论进行删除操作。1.3 系统开发工具的选用本人所开发的产品销售发布平台是在利用ASP.NET技术工具和SQL Server 2005数据库系统的基础上开发出来的。SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库

13、中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Micro

14、soft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据引擎是企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。与 Microsoft Visual Studio、Mi

15、crosoft Office System 以及新的开发工具包的紧密集成使 SQL Server 2005 与众不同。 ASP.NET应用程序被定义为可从Web服务器上的虚拟目录及其子目录中调用的所有文件盒可执行码。其中可以包含网页(.html文件)、Web表单页面(.aspx文件)、Web表单用户控件(.ascx文件)、XML Web服务(.asmx文件)、HTTP处理程序、HTTP模块和其他文件。 ASP.NET的核心对象,包括Server对象、Response对象和Request对象。状态管理对象,主要包括:应用程序状态对象、会话状态对象和页面视图状态对象。第二章 摄影分享网的设计2.1

16、 系统框架设计摄影分享网是针对照片的管理,从繁多的照片到整理收藏分享的一个管理过程,本系统可以提供高效率的照片管理,使得管理照片不再是一件麻烦的事情,使珍贵的影像资料不会因为纸质的原因易于损坏丢失,而造成遗憾和损失。因此主要是对官大摄影爱好者、平时有拍照习惯的人和喜欢分享照片的人需要的功能进行设计及实现。对摄影分享网的需求分析中得到系统设计到得到游客、注册用户、管理员三个用户,游客可以注册、浏览相册目录和相册里的照片;注册用户可以创建、浏览、删除相册目录,上传、浏览、删除照片,添加相册收藏,添加评论,博客管理等;管理员需要对系统的管理以及相册、照片、评论和注册用户的管理,系统用例图如下(图2-

17、1):图2-1用例图2.2 系统功能模块的设计 1. 通过分析系统框架和实际的功能需求得出本系统需要的主要功能模块如下: (1) 首页显示模块:显示最新上传的照片列表。 (2) 登录模块:为已注册用户和管理员进入个人页面和管理页面提供一个入口。 (3) 用户注册模块:为新用户注册提供一个页面的入口。 (4) 用户首页模块:显示功能链接,包括目录列表和各个功能的链接。 (5) 新增目录模块:添加一个新的相册目录。 (6) 上传照片模块:向已添加的目录中上传新的照片。 (7) 照片列表模块:显示具体的照片信息,并且可以删除照片。 (8) 照片详细显示模块:详细显示照片的信息,包括该照片下的所有评论

18、,并且可以发表新的评论。 (9) 用户信息显示:管理用户的详细信息。 (10) 评论显示模块:显示用户的所有评论,并且可以删除评论 (11) 收藏列表模块:显示用户的所有收藏目录,并且可以删除。 (12)博客首页模块:显示所有公开的博客、博客排行榜等。 (13) 博客管理模块: 添加新的博客,管理博客目录分类、文章、博客评论等。 (14) 管理员用户管理模块:显示所有的注册用户名单,对发现的违规的用户进行删除。 (15) 管理员相册管理模块:显示所有的相册目录清单,对发现的违规的相册进行删除。 (16) 管理员照片管理模块:显示所有的照片目录清单,对发现的违规的照片进行删除。 (17) 管理员

19、评论管理模块:显示所有的评论目录和内容,对发现的违规的评论进行删除。 2. 系统的各模块流程如下所示:图2-2系统总模块图填写注册信 息用户登录用户登录管理员登录用户注册 图2-3 用户登录功能图 图2-4 用户注册功能图 用户管理用户注册用户修改密码修改用户查看 目录管理目录增加目录修改目录浏览目录删除 图2-5用户管理功能图 图2-5目录管理功能图查看评论删除评论评论管理增加评论收藏相册浏览收藏收藏管理 图2-7评论管理功能图 图2-8收藏管理功能图用户管理目录管理照片管理评论管理管理员博客浏览写文章添加分类博客信息管理博客管理 图2-9 博客管理功能图 图2-10 管理员功能图2.3数据

20、库设计本系统数据库采用SQL SERVER 2005数据库,系统数据库名称为Album。数据库Album中包含6张表分别是用户表、照片目录表、照片表、评论表、收藏目录表和管理员表数据库表都有一个前缀(Album)数据库表的说明如下表2-1所以。表名称描述Album_User存储系统所有的用户Album_Photo存储所有的照片Album_Catalog存储用户的照片目录Album_Comment存储所有的评论内容Album_Favorite存储所有用户的收藏列表Blog_BlogCategory存储系统博客目录Blog_Comment存储博客的评论内容Blog_Post存储博客的文章Blgo_

21、PostCategory存储文章分类Album_Manage存储系统所有的管理员表2-1数据库表2.3.1 Album_User用户表 用户表包含所有在摄影分享网中注册的用户的信息,包括用户名、密码、Email等信息,他的字段说明如表2-2所示:字段名数据类型长度是否允许为空描述UserIdInt4否用户ID,自增1,表主键UserNamenvarchar10否用户名Passwordnvarchar50否用户的密码Intronvarchar12是用户个人简介EmailNvarchar50是用户的Email表2-2 用户字段描述2.3.2 Album_Photo照片表 照片表包含照片的描述、照片

22、目录、照片所属的用户、照片文件的路径、大小等信息。它的字段说明如表2-3所示。字段名数据类型长度是否允许为空描述PhotoIDInt4否照片ID,自增1,表主键CatalogIdnvarchar10否目录IDUserIdInt4是用户IDPhotoDescnvarchar12是照片路径FileSizenvarchar50否文件的大小Releasebit1否发布首页PhotoTimeDatetime8否照片上传时间表2-3 照片表字段描述2.3.3 Album_Comment 评论表 评论表不好喊评论的内容、评论时间、评论用户、评论的照片等信息,它的字段说明如表2-4所示。字段名数据类型长度是否

23、允许为空描述CommentIdInt4否评论ID,自增1,表主键UserIdInt4否用户IDPhotoIdInt4否照片IDCommentDatenvarchar12是评论时间ContentNvarchar50是评论内容表2-4 评论表字段描述2.3.4 Album_Catalog 照片目录表照片目录表包含目录名称、目录所属用户、目录创建时间、目录照片书等信息,它的字段说明如表2-5所示。字段名数据类型长度是否允许为空描述CatalogIdInt4否目录ID,自增1,表主键UserIdInt4否用户IDCatalogNamenvarchar50是目录名称PhotoNumnvarchar12是

24、目录包含的照片数CreateDateNvarchar50是目录创建时间PhotoPathBit1否目录照片 表2-5照片目录表字段描述2.3.5 Album_Favorite 收藏目录表 收藏目录表包含被收藏目录和发起收藏目录的用户信息,它的字段说明如表2-6所示。字段名数据类型长度是否允许为空描述FavoriteIdInt4否收藏ID,自增1,表主键UserIdint4否发起收藏的用户IdCatalogIdInt4否被收藏的目录Id表2-6收藏目录表描述2.3.6 Album_Manage 管理员目录表 管理员表包含相册管理者在系统中的信息,包括管理员名、密码、Email等信息,它的字段说明

25、如表2-7所示。字段名数据类型长度是否允许为空描述ManageIdInt4否管理员ID,自增1,表主键ManageNamenvarchar10否管理员名Passwordnvarchar50否管理员的密码Intronvarchar12是管理员个人简介EmailNvarchar50是管理员的Email表2-7管理员表字段描述2.3.7 Blog_BlogCategory 博客分类表博客分类表包含系统给定的博客分类的中信息,包括博客分类编号,博客分类明等信息,它的字段说明如表2-8所示。字段名数据类型长度是否允许为空描述BlogCategoryIdInt4否博客分类ID,自增1,表主键BlogCat

26、egoryNamenvarchar10否博客分类名表2-8 博客分类表2.3.8 Blog_Comment 文章评论表博客评论表包含注册用户给文章的所有评论信息,包括文章编号,用户编号,评论内容,评论标题,评论时间等信息,它的字段说明如表2-9所示。字段名数据类型长度是否允许为空描述Blog_CommentIdInt4否评论ID,自增1,表主键PostIdInt4否文章IDUserIDInt4否用户IDCommentContentnvarchar200否评论内容CommentTitlenvarchar50否平论标题CommentCreateTimedatetime8否评论时间表2-9 文章评论

27、表2.3.9 Blog_Post 文章表文章表主要是存储用户写的文章的信息,主要包括文章标题,文章内容,文章所有者等,它的详细字段描述如下表2-10所示。字段名数据类型长度是否允许为空描述PostIdInt4否文章ID,自增,主键BlogCategoryIdInt4否博客分类IDPostCategoryIdInt4否文章分类IDPostTitlenvarchar50否文章标题PostContenttest2000否文章内容AbstractNvarchar200否摘要ShowToPublicNvarchar2否在公共主页显示PostCreateTimedatetime8否写文章时间PostCom

28、mentsInt4是评论数PostClickint4是点击数PostUserIdint4否文章所有者ID表3-10 文章表2.3.10 Blog_PostCategory文章分类表文章分类表主要是为了存储用户自己定义的文章分类的信息,主要有分类标题,分类所有者等,它的详细字段说明如表2-11所示。字段名数据类型长度是否允许为空描述BlogCategoryIdInt4否博客分类ID,自增1,表主键BlogCategoryNamenvarchar10否博客分类名表2-11 文章分类表2.3.11表关系每个用户可以有多个目录,每个目录可以有多个照片,每个照片有多个评论,每个用户尅收藏多个目录,每个目

29、录也可以被多个用户收藏,管理员可以管理多个用户、多个目录、多个照片和多个评论,因此用户表和目录表之间、目录表和照片表之间以及照片表和评论表之间都是一对多的关系,而用户表和收藏目录表之间是多对多的关系,每个用户可以有多个文章分类,每个分类对应唯一的用户,每个用户可以有多篇文章,每个文章对应唯一的用户,每个用户可以有多个评论,每个用户有多个博客分类,博客分类对应多个用户,每个用户有多个文章分类,文章分类对应唯一的用户,每个评论有唯一的用户创建,每篇文章有多个评论,每个评论对应唯一的文章,每篇文章对应唯一的博客分类和文章分类,博客分类对应多个文章,文章分类对应多个文章,因此用户表和博客分类表、文章分

30、类表、文章表、文章评论表之间是一对多的关系,管理员表和用户表、目录表、照片表和评论表都是一对多的关系,所以这些表之间关系如下: 用户和照片目录之间是1对N的关系。 目录和照片之间是1对N的关系。 照片和评论之间是1对N的关系。 用户和收藏目录之间是N对N的关系。 用户和博客分类、文章分类、文章、文章评论是1对N的关系。 博客分类和文章之间是1对N的关系。 文章分类和文章之间是1对N的关系。 文章和评论之间是1对N的关系。 管理员和用户之间是1对N的关系。 管理员和目录之间是1对N的关系。 管理员和照片之间是1对N的关系。 管理员和评论之间是1对N的关系。通过以上的分析,该系统的表之间的关系图如

31、图2-7所示:图2-11 数据库表之间的关系2.4存储过程为了提供系统的方位效率,使用存储过程来实现大部分数据操作功能。同时为了防止系统内的存储过程过多而难以管理,只在新增或者修改实体数据和实现其他复杂的逻辑是才用户存储过程,删除和返回列表的功能还是用SQL语句来完成。表2-8是项目中具体运用到的存储过程。存储过程名称描述Album_User_Save保存用户:包括新增和修改用户,通过UserId来判断是新增还是个修改用户,以下其他的存储过程也类似Album_User_Delete删除用户,并且删除该用户的所有照片、收藏、评论、目录Album_Photo_Save保存照片Album_Photo

32、_Delete删除照片,并且更新该照片目录的照片数Album_Comment_Save保存评论Album_Catalog_Save保存照片目录:博爱扩新增和修改目录信息Album_Catalog_Delete删除照片目录:同时删除该目录下的照片和收藏的目录Album_Favorite_Save保存用户收藏目录表2-8 摄影分享网存储过程描述由于大多数存储过程都执行插入和更新操作,所以在下面列出几个具有代表性和复杂的存储过程作介绍。(1) Album_User_Delete该存储过程的功能是删除用户,并且删除该用户的目录、照片和收藏,但不删除该用户的评论,详细的代码如下: ALTER PROCE

33、DURE dbo.Album_User_DeleteUserId int ASdelete from Album_User where UserId=UserIddelete from Album_Catalog where UserId=UserIddelete from Album_Favorite where UserId=UserId GO(2) Album_Photo_Save该存储过程的功能是上传照片,并且同时更新照片所在的目录的照片数和目录的图片路径,详细的代码如下: ALTER PROCEDURE dbo.Album_Photo_SavePhotoId int, Catalog

34、Id int, UserId int, PhotoDesc nvarchar(50), Path nvarchar(50), FileSize decimal(18, 0) ASbeginINSERT INTO dbo.Album_Photo (CatalogId,UserId,PhotoDesc,Path,FileSize) VALUES (CatalogId,UserId,PhotoDesc,Path,FileSize)SET PhotoId = IDENTITYupdate Album_Catalog set PhotoNum=PhotoNum+1,PhotoPath = Path wh

35、ere CatalogId = CatalogIdend(3) Album_Photo_Delete该存储过程主要实现删除照片的功能,并且同时更新该照片对应目录的照片总数,详细代码如下: ALTER PROCEDURE dbo.Album_Photo_Delete PhotoId int AS declare CatalogId int select CatalogId=CatalogId from Album_Photo where PhotoId=PhotoId update Album_Catalog set PhotoNum=PhotoNum-1where CatalogId=Cata

36、logId delete from Album_Photo where PhotoId=PhotoId(4) Album_Catalog_Delete该存储过程主要是实现删除目录的功能,并且同时删除该目录下的照片和该目录的收藏记录,详细代码如下:ALTER PROCEDURE dbo.Album_Catalog_Delete CatalogId intASdelete from Album_Catalog where CatalogId=CatalogIddelete from Album_Photo where CatalogId=CatalogIddelete from Album_Fav

37、orite where CatalogId=CatalogIdGo 第三章 公共类及网站模板设计3.1公共类(WebHelper.cs)把页面需要经常用到的一些方法封装成类发到App_Code目录下,方便各个页面调用,主要的功能有“弹出提示”、“刷新”等方法,具体代码如下: public static int GetCurrentUser() string strUserId = HttpContext.Current.Request.QueryStringUserId = null ? : HttpContext.Current.Request.QueryStringUserId; if (

38、0 != strUserId.Length) return Convert.ToInt32(strUserId); return 0; public static int GetLoginUser() string strUserId = HttpContext.Current.SessionUserId = null ? : HttpContext.Current.SessionUserId.ToString(); if (0 = strUserId.Length) return 0; return Convert.ToInt32(strUserId); public static bool

39、 IsAdmin() string strLoginUserId = HttpContext.Current.SessionUserId = null ? : HttpContext.Current.SessionUserId.ToString(); string strUserId = HttpContext.Current.Request.QueryStringUserId = null ? : HttpContext.Current.Request.QueryStringUserId; if (strLoginUserId = | strUserId = ) return false;

40、if (strUserId = strLoginUserId) return true; return false; public static void Alert(string sMessage) HttpContext.Current.Response.Write(alert( + sMessage + );); public static void AlertAndRefresh(string sMessage) HttpContext.Current.Response.Write(alert( + sMessage + ); location.href=location.href);

41、 public static void Refresh() HttpContext.Current.Response.Write(location.href=location.href); public static void AlertAndRedirect(string sMessage, string sURL) HttpContext.Current.Response.Write(alert( + sMessage + );location.href= + sURL + ); 3.2母版页设计 本系统中母版页定义了页面的基本结构,分为上、中、下3个部分,其中上部显示页眉和导航部分,如图3-1所示;下部分显示版权和联系方式等信息,如图3-2所示;中部则是有各页面根据其页面功能特点来组织显示数据信息。图3-1母版页上部界面图3-2母版页西部界面(1) 页面介绍 母版页主要实现页眉和导航栏的功能,包括1各Label控件和5各超链接控件,Label控件显示登录用户相关信息,超链接控件包括相册相关的功能等连接。(2) 后台代码介绍由于系统的所有页面都是母版页继承而来,而系统的页面Guset和登录用户看到的是同一个页面,只是内容动态不一样而已,所以母版页根据不同的用户呈现不一样的界面,并且导航栏的链接也是动态的生成的,具体代码如下:protected void

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号