ITPub博客

首页 > Linux操作系统 > Linux操作系统 > FileUpload控件学习

FileUpload控件学习

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-01-19 16:54:54 0 删除 编辑
 FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径来指定要上载的文件;也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件。

      用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器。您必须显式提供一个控件(例如,可以提供一个命令按钮,当用户单击它时即可上载文件。)

      该控件最主要的一个方法是SaveAs(string fileName),即将要从客户端上指定的文件上传到web服务器上指定的目录下面。

      要注意的是:

      1.在上传文件前,应先验证该FileUpload控件是否真正包含了计算机上的某个文件,这个可以通过控件的HasFile属性(bool值)达到验证的目的。即:HasFile 返回 true,则表明存在该文件,那么就可以调用 SaveAs 方法,保存文件到web服务器上。否则则向用户显示提示消息,指明该控件不包含文件(在测试中我们发现,就算控件中指明路径,但是这个路径本身不包括这个文件时,返回值也为False

      2.如果我们要访问从客户端上传来的文件本身的信息,可以通过FileUpload控件的PostedFile属性,该属性返回一个HttpPostedFile对象,利用该对象,就可以获取文件的大小(ContentLength属性)、文件的类型(ContentType属性)、客户端文件的完整路径(FileName).

       下面是用FileUpload控件上传文件的一个简单示例:

        protected void Button1_Click(object sender, EventArgs e)
    {
        bool allowUpload = false;
        string[] extensionType ={ ".jpg", ".bmp", ".gif" };
        if (this.FileUpload1.HasFile)
        {
            //利用Path.GetExtension取得文件扩展名
            string fileExtension = Path.GetExtension(this.FileUpload1.FileName).ToLower();
            foreach (string var in extensionType)
            {
                if (fileExtension == var)
                {
                    allowUpload = true;
                    break;
                }
            }
            if (allowUpload)
            {
                string webPath = Server.MapPath("~" + "/上传的文件/");//注意:Sevver.MapPath("~")指明“根目录”
                this.FileUpload1.SaveAs(webPath + this.FileUpload1.FileName);
                 HttpPostedFile fileInfo = this.FileUpload1.PostedFile;
                Label1.Text = "文件上传成功!
文件大小为:"+fileInfo.ContentLength +"字节
文件类型为:"+fileInfo.ContentType +"
文件路径为:"+fileInfo.FileName;
           
            }
            else
            {
                this.Label1.Text = "文件类型不对,请上传文件后缀为.jpg或.bmp或.gif等类型的图片文件";
            }
        }
        else
        {
            this.Label1.Text = "文件不存在,请指定路径!";
        }
    }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-541443/,如需转载,请注明出处,否则将追究法律责任。

下一篇: C#读取Excel文档
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5346818