宝哥软件园

ASP.NET设计FTP文件上传解决方案

编辑:宝哥软件园 来源:互联网 时间:2021-09-08

如果要用ASP作为上传FTP文件的页面,我想很多人会马上想到用第三方开发的组件,相对来说比较容易开发。但是一般来说,免费下载的第三方组件都有一些功能上的限制。如果想买正版的第三方元器件,对于国内用户来说成本不小,也就是买得起,很多人因为手续复杂而望而却步。虽然微软也提供了一个可以在自己的Windows系统中上传文件的组件——发帖接收器。但是用过这个组件的朋友普遍感觉真的不好用。自从微软推出。Net FrameWork的一个重要组成部分,ASP.NET。Net FrameWork,已经在内部构建了上传文件的功能,并且这个功能是免费且易于使用的。让我们通过一个例子来介绍如何使用ASP.NET的这个功能来上传文件。

1.软件编写和运行环境Microsoft windows 2000专业版和。Net FrameWork SDK BETA2(由微软开发,用于测试由开发的软件开发包的版本2。Net)。如果运行服务器的硬盘分区为NTSF分区,请将服务器上所有硬盘的访问属性设置为“所有人”,以确保上传的文件可以正确写入服务器的硬盘。

2.软件基本功能该软件主要完成将本地文件上传到服务器指定目录的功能。即在软件的运行界面,用户选择要上传的文件名并填写要上传到服务器的目录名后,如果没有填写上传到服务器目录,则使用默认目录‘c :’,如果服务器上不存在已填写的目录,则建立该目录。按下“开始上传”按钮后,软件将选定的文件上传到指定的目录,然后返回上传文件的信息,即文件的名称、大小和类型。软件的具体操作界面和操作结果界面如下图所示:

图1:软件操作界面

图2:软件运行结果界面

3.软件设计的重要步骤和具体解决方案(1)。首先,我们应该感谢ASP.NET强大的功能和HTML控件元素,它们使我们可以通过对话框轻松选择要上传的文件。当然,你的浏览器必须是IE 3.02或网景3.0或更高版本。您可以通过以下语句选择本地文件:(2)为了成功上传文件,Form中的代码必须使用' multipart/form-data '而不是默认代码From ' application/x-www-Form-URL encoded '具体代码如下:

(3)获取上传的文件名和磁盘上的一些操作。为了获得上传的文件名,命名空间(NameSapce) -系统。必须引入IO。在这个命名空间中定义了许多关于文件和磁盘操作的类。在这个软件中,软件中的一些功能是通过这些类的一些方法和属性来实现的。(1).通过在Path类中使用GetFileName方法获取上传文件的名称,如下所示:lstrfilename=loFile。' PostedFile.FileName '注意:lofile.postedfile.filename返回通过文件对话框选择的文件名。这包括文件的目录信息。请删除目录信息并返回文件名。确定上传的目录是否存在,如果不存在,建立目录。在目录类中使用CreateDirectory方法,并确定目录是否存在。详情如下:如果(不是目录。存在(lstrFileFolder))然后是目录。如果“注意:lstrfilefile folder是用户填写的目录名,则create directory(lstrfilefile)结束。或者默认目录名(4)。将所选文件上传到服务器。在之前的工作完成后,您可以上传文件。上传文件相对简单,所以可以用下面两行语句完成上传工作。“lstrfilenamepath=lstrfilefolder lstrfilename”获取上传的目录和文件名lofile . postedfile . savas(lstrfilenamepath)将文件上传到服务器(5)。获取并显示属性FileName。Text=lstrFileName '获取文件名file type . text=lofile . postedfile . content type '获取文件类型FileLength。Text=cStr (loFile。P OstedFile。ContentLength)'获取文件长度fileuploadform。visible=false answermsg。“visible=true”显示上传的文件属性。这些都是写这个软件的一些重要地方。

四.程序源代码

<% @导入命名空间='系统IO“% > <script LANGUAGE=' VB ' RUNAT=' SERVER ' > Sub UploadFile _ Clicked(发送方为对象,e为事件参数)Dim lstrFileName为字符串Dim lstrFileNamePath为字符串Dim lstrFileFolder为字符串'如果上传目录为空,就使用c: '作为缺省上传目录' 获得上传到服务器的目录名称如果dir.value <> ' ',则lstrfilefooder=dir。value elstrfilefooder=' c : ' end if '获得文件名称lstrFileName=loFile .'发布文件。文件名'注:loFile .PostedFile。文件名返回的是通过文件对话框选择的文件名,这之中包含了文件的目录信息lstrFileName=路径“GetFileName (lstrFileName)”去掉目录信息,返回文件名称' 判断上传目录是否存在,不存在就建立如果(不是目录。存在(第一个文件夹) )然后是目录。'创建目录(第一个文件夹)结束如果'上传文件到服务器' lstrFileName路径=lstrFileFolder lstrFileName '得到上传目录及文件名称'文件.PostedFile。另存为(lstrFileNamePath)获得并显示上传文件的属性文件名“文本=lstrFileName”获得文件名称文件类型文本=文件PostedFile。' ContentType '获得文件类型文件长度文本=cStr(文件)PostedFile。ContentLength)'获得文件长度文件上传表单。visible=false answermsg。“可见=真”显示上传文件属性end sub

欢迎使用ASP .网页面实现文件上传

请选择上传到服务器的文件名称:<输入id='loFile '类型='file' runat='server' >
请输入上传到服务器的目录名称:<输入id=' dir ' type=' text ' runat=' server ' >
<输入类型=“提交”值='开始上传OnServerClick=' UploadFile _ Clicked ' runat=' server ' >
谢谢使用ASP .网页面实现文件上传
成功上传
文件大小字节
文件类型
五。总结至此我们就完成了一个比较完善的文件传送协议文件上传软件的全部工作,由此可见ASP .网的功能还是比较强大的。通过本例子,我们也看到要想灵活运用ASP . NET,还要深入掌握微软公司为. NET FRAMEWORK开发的软件开发包(SDK BETA 2),只有掌握了. NET FRAMEWORK开发的软件开发包,才可能用ASP .网开发出功能更强大,生命力更大的软件。

以上就是利用ASP .网设计文件传送协议文件上传的全部过程,希望对大家熟练掌握ASP .网设计文件传送协议文件上传有所帮助。

更多资讯
游戏推荐
更多+