• FileUpload控件实例应用 上传文件


    首先在根目录下建一个"images"文件:

    HTML:

    <form id="form1" runat="server"> 
        <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="上传" onclick="Button1_Click" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
        </form>

    后台cs:

     protected void Button1_Click(object sender, EventArgs e)
        {
      
            string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件获取上传文件的文件名
            if (strName != "")//如果文件名存在
            {
                bool fileOK = false;
                int i = strName.LastIndexOf(".");//获取。的索引顺序号,在这里。代表图片名字与后缀的间隔
                string kzm = strName.Substring(i);//获取文件扩展名的另一种方法 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性
    
                string xiangdui = @"~\images\";//设置文件相对网站根目录的保存路径 ,~号表示当前目录,在此表示根目录下的images文件夹
                string juedui = Server.MapPath("~\\images\\");//设置文件保存的本地目录绝对路径,对于路径中的字符“\”在字符串中必须以“\\”表示,因为“\”为特殊字符。或者可以使用上一行的给路径前面加上@
                string newFileName = juedui + newName + kzm;
                if (FileUpload1.HasFile)//验证 FileUpload 控件确实包含文件
                {
                    
                    String[] allowedExtensions = { ".gif", ".png", ".bmp", ".jpg",".txt" };
                    for (int j = 0; j < allowedExtensions.Length; j++)
                    {
                        if (kzm== allowedExtensions[j])
                        {
                            fileOK = true;
                        }
                    }
                }
                if(fileOK)
                {
                try 
                {
                    // 判定该路径是否存在
                    if (!Directory.Exists(juedui ))
                       Directory.CreateDirectory(juedui );
                    Label1.Text = newFileName;     //为了能看清楚我们提取出来的图片地址,在这使用label
                    Label2.Text = "<b>原文件路径:</b>" + FileUpload1.PostedFile.FileName + "<br />" +
                                      "<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字节<br />" +
                                      "<b>文件类型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";
                    Label3.Text = xiangdui + newName + kzm;
                   Label4.Text = "文件上传成功.";
                   FileUpload1.PostedFile.SaveAs(newFileName);//将图片存储到服务器上
                }
                catch (Exception)
                {
                    Label4.Text = "文件上传失败.";
                }
                }
                else
                {
                    Label4.Text = "只能够上传图片文件.";
                }    
            }
        }
  • 相关阅读:
    suseoj 1211: 子集和问题 (dfs)
    suseoj 1210: 会场安排问题 (贪心)
    suseoj 1209: 独立任务最优调度问题(动态规划)
    四级词汇(二)
    四级单词(一)
    nyoj 84-阶乘的0 (规律题)
    nyoj 83-迷宫寻宝(二) (计算几何, 叉积)
    nyoj 82-迷宫寻宝(一) (多重BFS)
    nyoj 79-拦截导弹 (动态规划)
    nyoj 78-圈水池 (凸包)
  • 原文地址:https://www.cnblogs.com/fuge/p/2608693.html
Copyright © 2020-2023  润新知