您的购物车还没有商品,再去逛逛吧~

提示

已将 1 件商品添加到购物车

去购物车结算>>  继续购物

ASP.NET网络硬盘的设计与实现

在公共机房教学中存在这样一个问题:一方面,要求学生能够保存自己的作业或文件;另一方面,公共机房机器大多是安装保护卡的,不能存储文件,如果学生使用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编程实现并投入使用,运行稳定。