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 = "只能夠上傳圖片文件.";
            }    
        }
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM