CteatTime datetime 否 创建时间
WebUserID bit 否 外键,文件所属的用户ID
IsDir bit 否 根目录标识
ParentPathId int 否 文件的父文件夹ID
IsShared bit 否 共享标识
4.系统设计与实现
本系统主要是注册用户对自己网盘系统中的文件进行管理和操作,在本部分将详细介绍具体的实现。
4.1用户主操作页面设计
用户操作页面是用户与系统进行交互的主界面,采用DIV+CSS进行页面布局,通过外部样式表控制界面的显示细节,使用JS实现动态页面交互。页面效果如图3所示。
图3 整体界面
4.2公共类设计
在设计系统的经常用到一些公共的类,对于本系统我设计了下载类DownLoadFile.cs、压缩类ZipClass.cs、以及对数据库进行增删改查的类BaseCrud.cs、数据库中的表类UserFilesBll.cs、WebUserBll.cs,且这两个类均继承BaseCrud.cs类,用户对自己网盘中文件的操作都通过WebExplorer.ashx.cs中的方法实现。类中的方法如图4所示。
图4 类中主要方法
4.3用户注册模块
用户注册的部分,要求用户以邮箱作为用户名,以确保用户名的唯一性,用户设置的登录密码度不小于5个字符,系统还要求注册用户输入确认密码,只要不满足以上条件的用户,都不能注册成功。当用户注册成功后,系统自动跳转到登陆页面,用户输入正确的用户名、密码,即可进入自己的网盘空间。
4.4用户登录模块
用户登录是一个验证过程,首先验证用户的用户名是否为邮箱格式,密码长度是否小于5个字符,再验证用户输入的用户名和密码是否正确。如果用户名格式不正确,或者输入的密码长度不正确,系统会显示出提示信息,重新输入;如果用户登录成功,则进入主操作页面WebExplorer.aspx。
4.5文件管理模块
文件管理模块主要包含对文件夹的新建、剪切、复制、粘贴、删除、重命名、压缩、解压缩功能,对文件的上传、下载、剪切、复制、粘贴、删除、压缩、解压、共享、重命名功能。
当用户登陆成功后,用户的文件目录信息,被存放在JSON数组中,并传往前台用户操作界面,在用户操作界面左侧生成目录树,类似于资源管理器,具体的操作按钮菜单栏位于中央部分顶部,页面顶部还有已登录用户的名称和当前目录名字。
在操作页面的左侧是选用的别人已经写好的JS生成树文件,用以显示用户文件夹目录,中间部分是用户的操作界面,最右侧是共享文件显示部分。用户可在自己的根目录下,新建目录,对文件进行删除、剪切、复制、粘贴、压缩、解压、下载、上传、重命名、分享操作,这些操作都是通过异步,即AJAX实现,点下相应的鼠标动作后,页面都会锁定,直至用户操作结束。用户对文件及文件夹的操作类型传递给WebExplorer.ashx.cs文件中对应方法,然后调用Common文件夹下的UserFilesBll.cs、WebUserBll.cs两个类中的对应方法,通过EF执行对数据库的一些列增删改查工作。
4.5.1新建目录功能
当用户鼠标放在新建目录这个操作上时会触发事件使该按钮颜色变暗,当用户点下鼠标时候,触发对应的事件newDirectory,通过JS弹出一个DIV的用户操作层,将用户界面锁定,当用户输入新建目录的名字并点击确认时,用户输入的新目录的名字发往后台。WebExplorer.ashx.cs文件中CreateDirectory方法为创建新目录。
具体创建过程如下:用户输入的用户新建目录的名称后,先用正则表达式进行验证,当用户输入正确的格式后,传向后台,拼接上获取的用户当前目录的路径然后转换成相对于网站目录的相对路径,并将新目录的路径、创建时间、是否为父目录等信息写入数据库,然后JS弹出提示,显示目录创建成功。与此同时用户的操作界面中左侧文件目录栏和用户文件显示栏自动刷新,当用户点击确认按钮时,用户的整个操作界面解锁。新建目录效果图如图5所示。 ASP.Net+sqlserver网盘系统设计与实现(3):http://www.751com.cn/jisuanji/lunwen_2699.html