当前位置: 首页 > 图文教程 > 开发语言 > VB > 在VS.NET下创建文件上载控件

VB
串口通讯及其在VB平台下的实现
VB中用API实现文件拖放
VB表格控件总览与例程分析
在VB中用DAO实现数据库编程
VB6将XML数据传入TreeView控件
VB和VB.NET中的XML操作
用VB.NET实现你的游戏梦想
用FileStreams将DTD插入XML中
Visual Basic.NET编程的设计思考
用VB设计控制上网时间程序
VB.NET实现Windows进程管理器
VB.NET启动并监测外部程序
VB6.0数据库访问技术与例程解析
VB.NET开发扫描客户端服务工具
VB制作一个通信卡片ActiveX控件
用VB6.0设计一个打字练习软件
消息队列在VB.NET数据库开发中的应用
用VB6.0快速实现图象加柔效果
VB6.0设计真正实用的TreeView控件
优化之路:精简VB中的分段应用程序(上)

VB 中的 在VS.NET下创建文件上载控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 109 ::
收藏到网摘: n/a

前言:
还记得在asp3.0里,我们为了上载文件可真是煞费苦心,写了一大堆的代码,可执行起来还是那么慢。但在asp.net里这个问题可以轻松搞定,这篇文章我们就探讨如何建立一个用户自定义的文件上载控件,并在我们的.ASPX程序中使用它。
正文
第一步:开发自定义文件上载控件
打开VS.NET,建立一个工程:WebApp,我们使用WebApp项目来做我们的工作。在项目WebApp上点右健选择Add下的Add Web User Control…,这时我们就可以建立一个用户自定义控件():FileUp.ascx,注意这个文件的扩展名是:.ascx。添加过程如下图所示:
图:添加用户自定义控件

图:添加用户自定义控件
我们建立FileUpload.ascx文件后,就可以象布置.html页面一样来设置布局。我们这个项目是要建立一个用户自定义的文件上载控件,在一个上载控件中有三个必备的元素,从某种意义上讲也可以说是“对象”:取得将要上载文件的HtmlInputFile控件、保存文件名的TextBox控件、按钮Button控件。我们可以使用VS.NET的工具箱里的File Field来直接添加它(看,VS.NET充分考虑了我们的需求),并把它的Runat属性设为Server,来告诉程序“我要在服务器上运行它”。为了体会ASP.NET为我们带来的优势,我们使用服务器端Web控件:TextBox和Button。控件的布局如下:


图:控件布局
界面设计完成以后,我们需要进一步设置各个控件的属性,主要有控件的ID,TEXT等,这里需要强调的关键有两点:一是HtmlInputFile控件的runat值:server;另外一个是Form表单的enctype属性:multipart/form-data,以支持多部分MIME数据上载。FileUpload.ascx文件的html代码如下:
FileUp.ascx
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="FileUp.ascx.cs" Inherits="WebApp.FileUp"%>









Selecte File To Upload:













Save The Name As:










接下来,我们进行文件上载的处理工作。在.ascx页面上我们双击Button按钮,或者右键文件名FileUpload.ascx选择View Code,就可进入.ascs.cs文件,进行我们的编程工作。
ASP.NET为我们封装了丰富的编程接口,减少了编程的工作量。并且,我们不需要知道这些接口内部的工作原理,我们只要知道一个类的属性、方法等的用法就能进行快速的开发。
ASP.NET为我们提供了一个System.Web名字空间,System.Web名字空间提供了基于browser/server系统的类和接口。我们的文件上载控件就要使用其中的HttpPostedFile类,所以我们首先了解HttpPostedFile类的一些相关的属性和方法。
属性:
ContentLength 取得将要上载文件的字节数,也就是文件的大小
ContentType 客户端文件的MIME类型
FileName 上载文件的文件名
InputStream 建立一个Stream对象,指向将要读取文件的内容
方法:
GetType 取得当前实例的文件类型
SaveAs 把MIME消息体作为文件保存在服务器
ToString 返回当前对象的表现
熟悉以上的属性和方法后,我们就开始开发我们的文件上载控件。为了便于读者理解,我们首先看代码,完整代码如下:
FileUp.ascx.cs:
namespace WebApp
{
using System;
using System.IO;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

///


/// Summary description for FileUp.<