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 = "文件上传成功!<br>文件大小为:"+fileInfo.ContentLength +"字节<br>文件类型为:"+fileInfo.ContentType +"<br>文件路径为:"+fileInfo.FileName;           
            }
            else
            {
                this.Label1.Text = "文件类型不对,请上传文件后缀为.jpg或.bmp或.gif等类型的图片文件";
            }
        }
        else
        {
            this.Label1.Text = "文件不存在,请指定路径!";
        }
    }

转载于:https://www.cnblogs.com/gujiliuxing/archive/2009/01/19/1378186.html

FileUpload控件学习相关推荐

  1. 详述FileUpload 控件上传单文件

    第一步:添加两个Label控件,一个是用于标题显示,一个是用于上传完成消息提示. 第二步:创建一个FileUpload控件到Page页面,注意FileUpload控件本身只提供文件的选举操作,而实际的 ...

  2. 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图

    本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图. 实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程 ...

  3. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  4. 根据FileUpload控件名获取上传文件(大小)类型

    /// <summary>     /// 根据FileUpload控件名获取上传文件(大小)类型     /// </summary>     /// <param n ...

  5. FileUpload控件

    FileUpload这个控件我在随笔: <在数据库中 存储图片 以及 在界面中显示图片(存储图片路径)- 这种方法相对与存储二进制文件好>之中,已经做了介绍,那篇随笔只是介绍上传图片,FI ...

  6. FileUpload控件实现单按钮图片自动上传并带预览显示

    FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调用_ ...

  7. 在updatepanel中使用fileupload控件

    FileUpload放在updatepanel中,回调时发现上其属性hasfile为false.解决方案如下: 方案一.如果将scriptmanager的enablepartialrending设为f ...

  8. 关于ASP.NET中fileupload控件的缺点

    一.首我来理一理"FileUpload"控件的工作大概原理: FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器. ...

  9. ListView控件学习系列2-编辑ListView(Edit,Update,Insert,Delete)

    目录: ListView控件学习系列1-了解ListView控件 ListView控件学习系列2-编辑ListView ListView控件学习系列3-ListView选择,排序,分页 ListVie ...

最新文章

  1. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败
  2. flutter pub get错误pub get failed和Downloading CanvasKit问题
  3. 编程之美系列之三——计算1的个数
  4. aliyun 阿里云Maven仓库地址 不管是自建私服还是maven构建 必备 结束了几kb的历史
  5. java并发中ExecutorService的使用
  6. 每日一题(17)—— 关键字volatile的作用和三个不同的应用场合
  7. 如何将Word与Endnote再次相互关联?
  8. c语言程序设计高校饭卡系统,C语言课程设计-学生饭卡管理系统(45页)-原创力文档...
  9. Oracle不常用函数
  10. 处理器后面的字母含义_Intel处理器背盖上的字母含义
  11. Codeforces - Mother of Dragons
  12. vm虚拟机关机后打不开_VMWARE虚拟机非正常关机导致无法启动的解决办法
  13. 贝壳DMP平台建设实践
  14. 华为服务器bios系统,华为服务器bios设置
  15. 线性回归的基本概念以及正规方程
  16. 谷歌google百度baidu搜索常用指令:inurl,intitle,site,domain,intext,filetype
  17. 我爱刷题001-2018.02.01
  18. 万豪国际集团旗下福朋喜来登品牌首度亮相苏州吴中
  19. 如何在iPhone和iPad上的Safari中在后台打开链接
  20. 389高校毕业设计选题

热门文章

  1. 根据checkbox组的选中状态给list数组赋值
  2. BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
  3. PHP5.1时间相差8小时问题解决。
  4. Sqlldr使用介绍
  5. 11款有用的Web开发在线工具
  6. 除非得到你的首肯,否则别人无法伤害你——Leo网上答疑(20)
  7. pymysql的安装
  8. 服务 进程守护 MarsDaemon 简介
  9. LeetCode Merge k Sorted Lists 解决报告
  10. 网站排障分析常用的命令