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

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所示的对话框。选定文件后,单击“确定”按钮完成文件上传工作。


图“浏览”要上传的文件

(0)

相关推荐

  • ASP.NET设计网络硬盘之两重要类代码

    System.IO.File类和System.IO.FileInfo类 在设计和实现"网络硬盘"的过程中,将大量地使用和文件系统操作相关的内容.故本节先对和文件系统相关的两个.NET类进行简要介绍. System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开方法:File.Open 该方法的声明如下: public static FileStre

  • ASP.NET设计网络硬盘之查看文件夹实现代码

    就像操作本地的计算机一样,需要为每个网络用户提供各自的一块硬盘空间,用户登录后便可以对自己的空间进行管理.管理是多方面的,首先用户应该能看到自己文件夹下的所有内容,另外需要提供多级文件夹目录的支持. 下面要介绍的实例包括"网上硬盘"的许多功能,将一步步为大家进行介绍.首先创建工程实例,然后进行主界面的设计,最后对各个功能的实现分别进行介绍. 新工程创建 新工程创建的步骤如下: (1) 打开MicroSoft Visual Studio.NET应用程序. (2) 选择"文件&q

  • ASP.NET+XML打造网络硬盘原理分析

    常用传输方式及其在特定环境下面临的困难 我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单.直观的方式操作.我们常用的文件传输FTP.Email邮件.网上邻居都能实现文件的传送.其中,"Ftp"功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐:"Email"是大家所熟悉的了,但它的传送不仅需要你连入Internet,而且它的安全性也是个

  • ASP.NET设计网络硬盘之文件夹实现

    在介绍"网络硬盘"概念时已经提到,每个用户在"网络硬盘"上都有自己的一块空间.在下面程序设计中是这样处理的:为用户提供一个固定的文件夹,在这个文件夹下用户可以自己增加/删除新的文件夹或文件.如图1所示,首次打开网页时将列出该文件夹下的所有内容(包括文件和文件夹).如果想进入下一级文件夹,可以选中该文件夹,单击"打开"按钮进入.下面将就查看文件夹内容功能的实现分步骤进行说明. 图1 用户主界面 1. 页面加载 由于程序所提供的用户目录是固定的,如c

  • asp.net 网络硬盘实现分析

    所谓"网络硬盘",就是将服务器的磁盘空间提供给用户使用,用户可以通过它在互联网上实现文件的上传,下载和删除以及文件夹的创建与删除.并可以通过共享文件实现文件的网络共享.  实际要求是在客户端完成对服务器系统文件或文件夹的访问,创建和删除等功能. 网络硬盘的功能要求: ● 用户登录.注销.用户注册 ● 新建文件夹.上传文件 ● 查看文件属性(包括:名称,所在目录,类型,大小,创建时间) ● 删除文件 ● 更换文件图标(分为大图标和小图标) ● 通过搜索找到自己的文件并可以下载 进入时需有

  • Asp.net mvc实时生成缩率图到硬盘

    对于缩率图的处理是在图片上传到服务器之后,同步生成两张不同尺寸的缩率供前端调用,刚开始还能满足需求,慢慢的随着前端展示的多样化,缩率图已不能前端展示的需求,所以考虑做一个实时生成图片缩率图服务. 每次调用实时生成缩率图,不缓存着实有点浪费,所以在生成缩率的同时缓存到硬盘一份,效率提高很多. 之前从网上看了一下有人用nginx + lua实现的,效率那是没什么可说的,但是时间紧迫,自己也没时间去研究,所以暂时先用aps.net mvc4来实现 一个,以后有时间了,再慢慢修改. 用自己熟悉的.net

  • ASP.NET设计网络硬盘之下载或在线查看实现代码

    在目录浏览中,如果选择的是一个文件,单击"打开"按钮就可以进行文件下载.当然,也可以选择直接打开,如图1所示. 图1 下载和在线打开界面 单击"打开"按钮将直接打开该文件,单击"保存"按钮可以下载该文件. 代码实现 打开文件所单击的还是"打开"按钮,所以要在"打开"事件中加以判断,看选中的是文件夹还是文件.故对btnOpen_Click()事件进行了修改,下面加重部分为新增的代码: 复制代码 代码如下: p

  • ASP.NET设计网络硬盘之删除文件夹实现代码

    界面布置 主界面设计中有个"删除"按钮,其(ID)为btnDelete.用户在目录浏览中选中要删除的项后,单击该按钮就可以完成删除工作. 代码实现 在"设计"面板中双击"删除"按钮,为其添加事件处理程序如下: 复制代码 代码如下: private void BtnDelete_Click(object sender, System.EventArgs e) { DeleteThings(FileList.SelectedItem.Text); }

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

    1.界面布置 这部分功能涉及到的控件主要有两个:一个是(ID)为WebFile的File Field控件,用来浏览上传文件路径:另一个是(ID)为btnUpLoad的上传按钮,单击它完成文件上传. 2.代码实现 在"设计"面板中双击btnUpLoad按钮,为其添加事件处理,其代码如下所示: 复制代码 代码如下: private void BtnUpload_Click(object sender, System.EventArgs e) { if(WebFile.PostedFile.

  • asp.net fileupload控件上传文件与多文件上传

    1.前台文件 Default.aspx: <%@ Page Language="C#" AutoEventWireup="true"CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

  • asp.net使用ajaxFileUpload插件上传文件(附源码)

    ajaxFileUpload.js 很多同名的,因为做出来一个很容易. 我用的是这个:https://github.com/carlcarl/AjaxFileUpload 下载地址在这里:http://xiazai.jb51.net/201701/yuanma/ajaxfileupload(jb51.net).rar AjaxFileUpload.js并不是一个很出名的插件,只是别人写好的放出来供大家用,原理都是创建隐藏的表单和iframe然后用JS去提交,获得返回值. 当初做了个异步上传的功能

  • Python实现不写硬盘上传文件

    目录 引言 文本类型 二进制类型 使用 requests 把字符串按照文件上传 引言 你写了一个 api,接受 client 上传的文件,然后在上传到 oss,你会怎么做?先写硬盘,然后在上传到 oss?太笨了! 你写了一个截图服务,截到的图要上传到 oss,你会怎么做?先写硬盘,在上传到 oss?太笨了! 这篇文章教你重新做人! 文本类型 使用 io.StringIO import io from loguru import logger file_like_obj = io.StringIO

  • Ajax异步上传文件实例代码分享

    非常不多说,直接给大家上干货,写的不好还请见谅. 具体代码如下所示: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <script src="~/Scripts/jquery-1.8.2.min.js"></script> <title>Ind

随机推荐