信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx

上传人:b****7 文档编号:25555048 上传时间:2023-06-09 格式:DOCX 页数:20 大小:347.85KB
下载 相关 举报
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx_第1页
第1页 / 共20页
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx_第2页
第2页 / 共20页
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx_第3页
第3页 / 共20页
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx_第4页
第4页 / 共20页
信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx

《信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx》由会员分享,可在线阅读,更多相关《信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。

信息与电气工程毕业设计基于WEB网络硬盘设计与实现.docx

信息与电气工程毕业设计基于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

联系电话

Email

nvarchar

50

E-mail

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("alert(\"密码错误,请重新输入密码!

\")");

Password.Focus();

}

}

else

{

Response.Write("alert(\"您输入的用户名不存在!

\")");

}

}

}

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("alert(\"恭喜,文件上传成功!

\")");

}

else

{

Response.Write("alert(\"请选择上传文件!

\")");

}

}

}

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

 

项目设计

评语

项目设计

成绩

指导教师

(签字)

年月日

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1