信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx
- 文档编号:25555048
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:20
- 大小:347.85KB
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx
《信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx》由会员分享,可在线阅读,更多相关《信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
信息与电气工程毕业设计基于WEB网络硬盘设计与实现
信息与电气工程学院
软件程序设计CDIO三级项目
设计说明书
(2013/2014学年第一学期)
题目:
Web版网络U盘
目录
1.项目设计目的1
2.项目设计正文1
2.1系统分析1
2.1.1网络硬盘系统功能要求1
2.1.2网络硬盘系统分析说明2
2.2系统设计2
2.2.1数据库设计2
2.2.2系统总体结构框图3
2.2.3系统流程图4
2.3网络硬盘系统实现5
2.3.1登录模块5
2.3.2管理员上传文件模块6
2.3.3文件下载模块一8
2.3.4文件下载模块二9
2.3.5查看下载记录模块10
2.4系统测试11
3.项目设计总结13
4.参考文献14
1.项目设计目的
1)进一步巩固和加深对“C#.NET程序语言设计”课程的基本知识,了解ASP动态网页设计知识在实际中的应用;
2)综合运用“C#.NET程序语言设计”课程和先修课程的理论及生产实际知识去分析和解决问题,进行的相关训练;
3)学习ASP动态网页设计的一般方法,了解和掌握通用数据库的连接、数据的相关操作或网站的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是网站功能规划的能力和实现相关功能的能力;
4)通过对系统的分析、系统设计、数据库设计和功能的实现等,培养ASP动态网页设计的基本技能,巩固C#知识。
2.项目设计正文
2.1系统分析
2.1.1网络硬盘系统功能要求
本设计为网路硬盘,管理员可以上传、分享一些文件,供普通用户下载,管理员可以添加、管理用户,浏览用户下载记录,删除以上传文件,从而对网盘进行维护和管理。
网络硬盘的功能要求:
1)管理员:
Ø用户登录、注销
Ø上传文件
Ø通过搜索找到已上传文件,对其管理或下载
Ø浏览普通用户下载记录
Ø添加新账户
Ø管理已添加账户
Ø修改自己的密码
2)普通用户:
Ø用户登录、注销
Ø下载已上传文件
Ø修改自己的账户信息及密码
2.1.2网络硬盘系统分析说明
本系统用于网上文件的管理,账户注册方式为管理员添加开发,不提供自行注册。
管理员对该系统具有绝对控制权限,可添加、管理用户,上传、管理网盘文件,浏览已被下载的文件记录。
而普通用户需向管理员索要账户和密码,自己仅有修改该账户信息和浏览下载已上传的文件。
登陆模块下,通过账户名连接数据库判断目前用户为管理员还是普通用户,并在账户、密码验证后跳转到相应的网页。
管理员子系统内,上传文件模块可实现浏览选择本地文件,并获取所选文件地址和文件名,以及上传时间,然后将该文件上传到相应位置并将获取的各种信息保存到数据库相应列表内,供后续功能调用。
文件管理模块与下载历史记录模块通过VisualStudio自带的控件及数据绑定,实现已上传文件的删查操作及各用户对文件的下载记录。
通过链接数据库及相应C#代码实现新账户的添加、已有账户的权限管理及本账户的密码修改。
普通用户子系统内,文件下载模块需实现网盘内文件的浏览及下载,通过代码和数据库保存用户的下载文件名称、下载时间等信息,用于管理员下载历史浏览模块的调用。
该子系统内账户同样可修改自己的账户信息及账户密码。
2.2系统设计
2.2.1数据库设计
所用数据库FileManage.mdf包含三张数据表,用户信息表(UserLists)、文件存放表(FileLists)、下载历史记录表(DownloadHistory),表设计如下:
表2-1用户信息表(UserLists)
列名
数据类型
长度
是否为主键
是否允许为空
注释
UserListID
bigint
8
是
否
用户帐号
UserAccount
nvarchar
50
否
否
用户登录账户名
UserPassword
nvarchar
50
否
否
用户登录密码
DepartmentName
nvarchar
50
否
是
部门(学院)名称
Contactor
nvarchar
50
否
是
联系人
Tel
nvarchar
50
否
是
联系电话
nvarchar
50
否
是
Address
nvarchar
255
否
是
地址
UserLevel
int
4
否
是
用户权限等级
表2-2文件存放表(FileLists)
列名
数据类型
长度
是否为主键
是否允许为空
注释
FileListID
bigint
8
是
否
文件序号
UserAccount
nvarchar
50
否
是
用户登录账户名
Contactor
nvarchar
50
否
是
联系人
UpFileName
nvarchar
50
否
否
文件名
FileContent
ntext
16
否
是
文件说明
FileSize
nvarchar
50
否
是
文件大小
FileType
nvarchar
50
否
是
文件类型
DownloadTimes
int
4
否
是
文件下载次数
AddTime
datetime
8
否
是
记录添加时间
表2-3下载历史记录表(DownloadHistory)
列名
数据类型
长度
是否为主键
是否允许为空
注释
DownloadHistoryID
bigint
8
是
否
文件下载序号
UserAccount
nvarchar
50
否
是
用户登录账户名
Contactor
nvarchar
50
否
是
联系人
FileListID
bigint
8
否
否
文件编号
UpFileName
ntext
16
否
是
文件名
DownDatetime
datetime
8
否
是
文件大小
2.2.2系统总体结构框图
图2-1网络硬盘系统的总体结构
2.2.3系统流程图
N
N
Y
Y
图2-2系统流程图
2.3网络硬盘系统实现
2.3.1登录模块
图2-3登录页面展示
登录模块后台功能实现代码:
///
///用户单击登录按钮事件方法
///
///
///
protectedvoidButton1_Click(objectsender,EventArgse)
{
//获取用户在页面上的输入
stringuserAccount=Account.Text;//用户登陆名
stringuserPassword=Password.Text;//用户登陆密码
UserListuserlist=newUserList();
userlist.LoadData(userAccount);
if(userlist.Exist)
{
if(userlist.UserPassword==userPassword)//如果密码正确转入管理员页面
{
HttpCookiecookie=newHttpCookie("pcrepair");//定义cookie对象以及名为aInfo的项
DateTimedt=DateTime.Now;//定义时间对象
TimeSpants=newTimeSpan(1,0,0,0);//cookie有效作用时间
cookie.Expires=dt.Add(ts);//添加作用时间
cookie.Values.Add("UserListID",userlist.UserListID.ToString());//增加属性
cookie.Values.Add("UserAccount",userlist.UserAccount.ToString());//增加属性
cookie.Values.Add("DepartmentName",HttpUtility.UrlEncode(userlist.DepartmentName.ToString()));
cookie.Values.Add("Contactor",HttpUtility.UrlEncode(userlist.Contactor.ToString()));//增加属性
cookie.Values.Add("Tel",HttpUtility.UrlEncode(userlist.Tel.ToString()));//增加属性
cookie.Values.Add("Address",HttpUtility.UrlEncode(userlist.Address.ToString()));//增加属性
cookie.Values.Add("UserLevel",userlist.UserLevel.ToString());//增加属性
Response.AppendCookie(cookie);//确定写入cookie中
switch(userlist.UserLevel.ToString())
{
case"0":
Response.Redirect("admin/admin.aspx");break;
case"2":
Response.Redirect("user/admin.aspx");break;
default:
break;
}
}
//如果密码错误,给出提示,光标停留在密码框中
else
{
Response.Write("
\")");
Password.Focus();
}
}
else
{
Response.Write("
\")");
}
}
}
2.3.2管理员上传文件模块
图2-4文件上传页面展示一
图2-5文件上传页面展示二
文件上传模块后台功能实现代码:
protectedvoidButton1_Click(objectsender,EventArgse)
{
Hashtableht=newHashtable();
ht.Add("UserAccount",SqlStringConstructor.GetQuotedString
(Convert.ToString(Request.Cookies["pcrepair"].Values["UserAccount"])));
ht.Add("Contactor",SqlStringConstructor.GetQuotedString(HttpUtility.
UrlDecode(Convert.ToString(Request.Cookies["pcrepair"].Values["Contactor"]))));
ht.Add("FileContent",SqlStringConstructor.GetQuotedString(FileContent.Text));
//上传文件名为原文件名
stringaffixFileName=InputAffixFile.Value.Trim();
intShowFileSize=Convert.ToInt32(InputAffixFile.PostedFile.ContentLength.ToString())/1024;
stringShowFileType=affixFileName.Substring(affixFileName.LastIndexOf(".")+1).ToLower();
intidx=affixFileName.LastIndexOf('\\');
affixFileName=affixFileName.Substring(idx+1);
stringfileName="";
if(affixFileName!
="")
{
stringpath=this.InputAffixFile.PostedFile.FileName;
fileName=Path.GetFileName(path);
ht.Add("UpFileName",SqlStringConstructor.GetQuotedString(fileName));
ht.Add("FileSize",SqlStringConstructor.GetQuotedString(Convert.ToString(ShowFileSize)));
ht.Add("FileType",SqlStringConstructor.GetQuotedString(ShowFileType));
InputAffixFile.PostedFile.SaveAs(Server.MapPath("~//upfile//affix//")+fileName);
FileListfilelist=newFileList();
filelist.Add(ht);
Response.Write("
\")");
}
else
{
Response.Write("
\")");
}
}
}
2.3.3文件下载模块一
该部分实现绑定数据的文件下载
图2-6文件下载页面展示
图2-7文件下载页面VS设计界面
文件下载模块后台功能实现代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
//加载
if(!
IsPostBack)
{
//绑定数据
DataViewdvlist=FileList.QueryFileLists();
AspNetPager1.RecordCount=dvlist.Table.Rows.Count;
Session["dvlist"]=dvlist;
bindData();
}
}
voidbindData()
{
PagedDataSourcepds=newPagedDataSource();
pds.AllowPaging=true;
pds.PageSize=AspNetPager1.PageSize;
pds.CurrentPageIndex=AspNetPager1.CurrentPageIndex-1;
pds.DataSource=(DataView)Session["dvlist"];
GridView1.DataSource=pds;
GridView1.DataBind();
}
protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse)
{
bindData();
}
}
2.3.4文件下载模块二
该部分功能为:
下载时将文件的名字、路径、下载时间及下载人的部分信息传到数据库,供管理员查看下载记录程序调用。
代码如下:
publicpartialclassuser_file_download_prs:
System.Web.UI.Page
{
publicstringfilePath,showFilePath;
publicintfileListID;
protectedvoidPage_Load(objectsender,EventArgse)
{
filePath=Convert.ToString(Request.QueryString["FilePath"]);
fileListID=Convert.ToInt32(Request.QueryString["FileListID"]);
if(!
IsPostBack)
{
AddDownloadHistory();
UpdateDownloadTimes();
}
Response.Redirect(filePath);
}
///
///增加下载历史记录
///
privatevoidAddDownloadHistory()
{
showFilePath=Path.GetFileName(filePath);
Hashtableht=newHashtable();
ht.Add("FileListID",fileListID);
ht.Add("UserAccount",SqlStringConstructor.GetQuotedString
(Convert.ToString(Request.Cookies["pcrepair"].Values["UserAccount"])));
ht.Add("Contactor",SqlStringConstructor.GetQuotedString(HttpUtility.UrlDecode
(Convert.ToString(Request.Cookies["pcrepair"].Values["Contactor"]))));
ht.Add("UpFileName",SqlStringConstructor.GetQuotedString(showFilePath));
DownloadHistorydownloadHistory=newDownloadHistory();
downloadHistory.Add(ht);
}
///
///增加下载次数
///
privatevoidUpdateDownloadTimes()
{
FileListfilelist=newFileList();
filelist.FileListID=fileListID;
Hashtableht=newHashtable();
ht.Add("DownloadTimes","DownloadTimes+1");
filelist.Update(ht);
}
}
2.3.5查看下载记录模块
图2-8文件下载记录页面
后台代码:
publicpartialclassadmin_download_history:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Request.Cookies["pcrepair"]!
=null)
{//加载
if(!
IsPostBack)
{
//绑定数据
DataViewdvlist=DownloadHistory.QueryDownloadHistoryView();
AspNetPager1.RecordCount=dvlist.Table.Rows.Count;
Session["dvlist"]=dvlist;
bindData();
}
}
}
voidbindData()
{
PagedDataSourcepds=newPagedDataSource();
pds.AllowPaging=true;
pds.PageSize=AspNetPager1.PageSize;
pds.CurrentPageIndex=AspNetPager1.CurrentPageIndex-1;
pds.DataSource=(DataView)Session["dvlist"];
GridView1.DataSource=pds;
GridView1.DataBind();
}
protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse)
{
bindData();
}
}
2.4系统测试
图2-9文件上传测试页面
图2-10上传文件列表
图2-11文件下载记录页面
图2-12文件下载记录页面
图2-13修改个人资料及密码页面
经测试,该web版网络硬盘系统运行稳定。
3.项目设计总结
4.参考文献
[1]邱锦伦,曹旻.VisualC#.NET程序设计教程[M].清华大学出版社,2006,9
[2](美)恰坡(Chappell,D.)荣耀译..NET大局观(第2版)[M],电子工业出版社,2006,9,1
[3](美)KarliWatsonChristianNagel.C#入门经典(第3版)[M],清华大学出版社,2006,5,1
[4]Treeview动态添加子菜单,CSDN论坛,2014.01.04
项目设计
评语
项目设计
成绩
指导教师
(签字)
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 电气工程 毕业设计 基于 WEB 网络 硬盘 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)