欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET设计网络硬盘之上传文件实现代码

程序员文章站 2024-03-05 17:31:49
1、界面布置  这部分功能涉及到的控件主要有两个:一个是(id)为webfile的file field控件,用来浏览上传文件路径;另一个是(id)为btnupload的上传...
1、界面布置

  这部分功能涉及到的控件主要有两个:一个是(id)为webfile的file field控件,用来浏览上传文件路径;另一个是(id)为btnupload的上传按钮,单击它完成文件上传。

2、代码实现

  在“设计”面板中双击btnupload按钮,为其添加事件处理,其代码如下所示:
复制代码 代码如下:

private void btnupload_click(object sender, system.eventargs e)
{
 if(webfile.postedfile.filename=="")
 {
  info.text="请先选择要上传的文件";
  return;
 }
 try
 {
  char[] spliter = {'\\'};
  string [] filename = webfile.postedfile.filename.split(spliter,10);
  string fullpath = currentpath + @"\" + filename[filename.length-1];
  //生成完整文件名
  webfile.postedfile.saveas(fullpath); //保存文件
  loaddir(currentpath); //重新载入当前目录
 }
 catch
 {
  info.text="上传文件失败,请与管理员联系";
 }
}

  首先要判断用户是否选择了要上传的文件,这可以通过webfile.postedfile.filename属性来得到。需要说明的是:webfile是一个file field控件对象,该控件属于htmlinputfile类,htmlinputfile.postedfile方法用来获取对客户端上载文件的访问。

  在确定用户选择了要上传的文件后,就要对其上传的路径进行设置。首先要得到该文件的文件名。由于用户提供的是一个客户端完整路径,需要用split()方法按“//”分隔符进行分割,结果保存在一个数组里。如:“c://userdir//chapter1//ch1.doc”可以被分割为四部分,其最后一部分(数组最后一项)正是需要的文件的名称。在上面的程序中,filename[filename.length-1]即为用户上传的文件名。

  得到上传路径后就可以进行上传,这里用到postedfile.saveas()方法。完成上传后,调用loaddir()方法就可以显示出刚才上传的文件名。

  运行时单击“浏览”按钮,将出现如图16-5所示的对话框。选定文件后,单击“确定”按钮完成文件上传工作。

ASP.NET设计网络硬盘之上传文件实现代码
图“浏览”要上传的文件