• 标准控件(三)——FileUpload


    FileUpload

    1、上传到硬盘文件夹

      1、最简单的上传

    HTML代码

            <asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" />

    C#代码

        protected void Button1_Click(object sender, EventArgs e)
        {
            //把上传文件原来的文件名给取出来。
            string fileName = FileUpload1.FileName;
    
            //文件上传,注意的是:SaveAs里面的应当是绝对路径
            FileUpload1.SaveAs(path);
        }

      2、上传文件,并保存原文件名

        protected void Button1_Click(object sender, EventArgs e)
        {
            //把上传文件原来的文件名给取出来。
            string fileName = FileUpload1.FileName;
    
            //把相对路径,变成绝对路径
            string path = Server.MapPath("uploads/"+fileName);
    
            //文件上传,注意的是:SaveAs里面的应当是绝对路径
            FileUpload1.SaveAs(path);
        }

     

       3、上传文件,防止重名(方法:原文件名追加用户名和时间)

        protected void Button1_Click(object sender, EventArgs e)
        {
            //把上传文件原来的文件名给取出来。
            string fileName = FileUpload1.FileName;
    
            //防止文件重名,而对文件名进行的处理。
            fileName = Session["user"].ToString() + DateTime.Now.ToString("yyyyMMddhhmmssms") + fileName;
    
            //把相对路径,变成绝对路径
            string path = Server.MapPath("uploads/"+fileName);
    
            //文件上传,注意的是:SaveAs里面的应当是绝对路径
            FileUpload1.SaveAs(path);
        }

     

       4、多文件上传。该控件只能一个控件上传一个文件,如果多文件上传则需要多个控件。

        protected void Button1_Click(object sender, EventArgs e)
        {
            int index = 0;
            foreach (Control ctrl in this.form1.Controls)
            {
                if (ctrl is FileUpload)    //判断控件是否是文件上传控件
                {
                    FileUpload file = (FileUpload)ctrl;
    
                    if (file.HasFile)    //判断文件上传控件是否选中文件
                    {
                        string fileName = file.FileName;
                        fileName = Session["user"].ToString() + DateTime.Now.ToString("yyyyMMddhhmmssms")+ index.ToString() + fileName;
                        string path = Server.MapPath("uploads/"+fileName);
                        file.SaveAs(path);
                        index++;
                    }
                }
            }
        }

     

      注意:该控件默认一次上传文件上限为4M。如果需要修改,修改Web.config中配置如下:

        <system.web>
          <httpRuntime maxRequestLength="40960"/>    <!--文件上限更改为40M-->
        </system.web>

     

     2、上传到数据库

        protected void Button1_Click(object sender, EventArgs e)
        {
            //从界面中获取数据
            string name = FileUpload1.FileName;    //获取文件名
            byte[] content = FileUpload1.FileBytes;    //获取文件内容,并转成二进制数组
    
            //向数据库中插入记录
            Documents data = new Documents();
            data.Name = name;
            data.Content = content;
    
            _Context.Documents.InsertOnSubmit(data);
            _Context.SubmitChanges();
        }

     

  • 相关阅读:
    18.8.29 考试总结
    18.8.28 考试吐槽
    18.8.27 考试总结
    18.8.26 考试总结
    long long 读数scanf的转换 #define
    神奇的NOIP模拟赛 T3 LGTB 玩THD
    神奇的NOIP模拟赛 T2 LGTB 学分块
    神奇的NOIP模拟赛 T1 LGTB 玩扫雷
    POJ 3264 Balanced Lineup 线段树 第三题
    HDOJ 1754 I Hate It 线段树 第二题
  • 原文地址:https://www.cnblogs.com/phantom-k/p/4297796.html
Copyright © 2020-2023  润新知