论文部分内容阅读
[摘 要] 网络硬盘是将服务器硬盘按一定大小划分成若干块供注册用户使用,用户可以实现存储、传递、共享文件等功能。ASP.NET提供了强大的上传组件和服务器类操作方法,本文介绍网络硬盘的功能及关键技术的实现方法。
[关键词] 网络硬盘; ASP.NET; 数据库
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 17. 069
[中图分类号] G482; TP393 [文献标识码] A [文章编号] 1673 - 0194(2012)17- 0121- 02
在公共机房教学中存在这样一个问题:一方面,要求学生能够保存自己的作业或文件;另一方面,公共机房机器大多是安装保护卡的,不能存储文件,如果学生使用U盘还容易交叉感染病毒。针对这一问题,笔者利用ASP.NET开发了网络硬盘系统。
网络硬盘是在服务器上为用户提供的一块存储空间,用户通过登录网站或者使用网站提供的客户端软件,实现异地的文件上传和下载。学生利用该系统可以存储上课用的资料,教师可通过共享方式发布教学资料,并可通过写共享目錄的方式接受学生上传的作业。
1 功能设计
根据网络硬盘的实际应用,将网络硬盘进行功能划分,如图1所示。
1.1 用户管理
实现对用户的注册、登录、注销管理。本系统只对注册用户开放使用,每个注册用户给予100M硬盘空间,用户正确登录后才能使用本网络硬盘读取自己的数据。学生毕业后身份注销,分配的空间收回。
1.2 文件管理
(1) 新建文件夹。文件夹用于对文件进行分类管理,在本系统中默认建立3个文件夹,分别是:作业、软件、娱乐。用户还可以根据自己的需要建立或删除文件夹。
(2) 上传文件。用户正确登录进入本系统后可以选择相应的文件夹,点击“浏览”按钮选择文件进行上传。由于给每个用户分配的空间有限,所以限定上传文件最大为4M。
(3) 删除文件。给予用户的空间有限,使用该功能整理用户文件。
(4) 搜索文件。该功能用于快速定位要操作的文件。
(5) 下载文件。找到文件点击下载,提取自己保存的文件。
(6) 修改个人资料。对个人资料进行修改。
2 关键技术实现代码
2.1 新建文件夹代码
protected void AddBtn_Click(object sender,EventArgs e)
{
string path = Server.MapPath("./userDisk/") + this.Name.Text;
DirectoryInfo di = new DirectoryInfo(path);
di.Create();
string sql = "";
sql = "insert into Directory (U_name,D_name,D_ParentID,D_contein,D_date) values (’" +
Session["U_name"].ToString() + "’,’" + this.Name.Text + "’,’" + 0 + "’,’" + 0 + "’,’" +
System.DateTime.Now.ToShortDateString() + "’)";
DB.Exec(sql);
Response.Write("<script>alert(’" + "新建文件夹成功!" + "’);</script>");
}
2.2 上传文件代码
protected void SureBtn_Click(object sender, EventArgs e)
{
string path = this.FileUpload1.PostedFile.FileName;
if (path == "")
{
Response.Write("<script>alert(’请选择要上传的文件’);</script>");
return;
} string fileName = Path.GetFileName(path);
string savePath = Server.MapPath("Disk") + "/" + fileName;
this.FileUpload1.PostedFile.SaveAs(savePath);
string sql;
sql = "insert into URL (Ur_name,Ur_url,Ur_contain,Ur_D_name,Ur_date) values(’" + this.TextBox1.Text + "’,’"+"Disk/" + this.DropDownList1.Text + "/" + fileName + "’,’"+this.FileUpload1.PostedFile.ContentLength+"KB"+"’,’" + this.DropDownList1.Text + "’,’" + System.DateTime.Now.ToShortDateString() + "’)";
DB.Exec(sql);
this.TextBox1.Text = "";
this.Label3.Text = "上传成功!";
}
2.3 下载文件代码
private void FileDownload(string FullFileName)//
{
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false; Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
3 结束语
网络硬盘是一个功能强大的网络应用系统,本文就其功能和实现代码作了一定的说明。网络硬盘可在本文功能上加以扩展,是一个很好的网络办公系统。本文所设计网络硬盘功能已通过ASP.NET编程实现并投入使用,运行稳定。
[关键词] 网络硬盘; ASP.NET; 数据库
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 17. 069
[中图分类号] G482; TP393 [文献标识码] A [文章编号] 1673 - 0194(2012)17- 0121- 02
在公共机房教学中存在这样一个问题:一方面,要求学生能够保存自己的作业或文件;另一方面,公共机房机器大多是安装保护卡的,不能存储文件,如果学生使用U盘还容易交叉感染病毒。针对这一问题,笔者利用ASP.NET开发了网络硬盘系统。
网络硬盘是在服务器上为用户提供的一块存储空间,用户通过登录网站或者使用网站提供的客户端软件,实现异地的文件上传和下载。学生利用该系统可以存储上课用的资料,教师可通过共享方式发布教学资料,并可通过写共享目錄的方式接受学生上传的作业。
1 功能设计
根据网络硬盘的实际应用,将网络硬盘进行功能划分,如图1所示。
1.1 用户管理
实现对用户的注册、登录、注销管理。本系统只对注册用户开放使用,每个注册用户给予100M硬盘空间,用户正确登录后才能使用本网络硬盘读取自己的数据。学生毕业后身份注销,分配的空间收回。
1.2 文件管理
(1) 新建文件夹。文件夹用于对文件进行分类管理,在本系统中默认建立3个文件夹,分别是:作业、软件、娱乐。用户还可以根据自己的需要建立或删除文件夹。
(2) 上传文件。用户正确登录进入本系统后可以选择相应的文件夹,点击“浏览”按钮选择文件进行上传。由于给每个用户分配的空间有限,所以限定上传文件最大为4M。
(3) 删除文件。给予用户的空间有限,使用该功能整理用户文件。
(4) 搜索文件。该功能用于快速定位要操作的文件。
(5) 下载文件。找到文件点击下载,提取自己保存的文件。
(6) 修改个人资料。对个人资料进行修改。
2 关键技术实现代码
2.1 新建文件夹代码
protected void AddBtn_Click(object sender,EventArgs e)
{
string path = Server.MapPath("./userDisk/") + this.Name.Text;
DirectoryInfo di = new DirectoryInfo(path);
di.Create();
string sql = "";
sql = "insert into Directory (U_name,D_name,D_ParentID,D_contein,D_date) values (’" +
Session["U_name"].ToString() + "’,’" + this.Name.Text + "’,’" + 0 + "’,’" + 0 + "’,’" +
System.DateTime.Now.ToShortDateString() + "’)";
DB.Exec(sql);
Response.Write("<script>alert(’" + "新建文件夹成功!" + "’);</script>");
}
2.2 上传文件代码
protected void SureBtn_Click(object sender, EventArgs e)
{
string path = this.FileUpload1.PostedFile.FileName;
if (path == "")
{
Response.Write("<script>alert(’请选择要上传的文件’);</script>");
return;
} string fileName = Path.GetFileName(path);
string savePath = Server.MapPath("Disk") + "/" + fileName;
this.FileUpload1.PostedFile.SaveAs(savePath);
string sql;
sql = "insert into URL (Ur_name,Ur_url,Ur_contain,Ur_D_name,Ur_date) values(’" + this.TextBox1.Text + "’,’"+"Disk/" + this.DropDownList1.Text + "/" + fileName + "’,’"+this.FileUpload1.PostedFile.ContentLength+"KB"+"’,’" + this.DropDownList1.Text + "’,’" + System.DateTime.Now.ToShortDateString() + "’)";
DB.Exec(sql);
this.TextBox1.Text = "";
this.Label3.Text = "上传成功!";
}
2.3 下载文件代码
private void FileDownload(string FullFileName)//
{
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false; Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
3 结束语
网络硬盘是一个功能强大的网络应用系统,本文就其功能和实现代码作了一定的说明。网络硬盘可在本文功能上加以扩展,是一个很好的网络办公系统。本文所设计网络硬盘功能已通过ASP.NET编程实现并投入使用,运行稳定。