ASP.NETファイルアップロード

2751 ワード

protected void UploadBtn_Click(object sender, EventArgs e)
    {
        //******************         :(.rar)***************************
        string fileName = this.FileUpload1.PostedFile.FileName;//         
        int length = fileName.Length;//            
        int intID = fileName.LastIndexOf(".");
        string oldName = fileName.Substring(intID, length - intID);//        
        //************************************************************************
        bool fileOK = false;
        string uploadPath = string.Empty;//       
        string uploadInfo = UploadTB.Text;//    
        //          
        string path = Server.MapPath("~/UserRes/" + "1" + "//");
        //      ,        
        FileUpload FU = FileUpload1;
        if (FileUpload1.HasFile)
        {
            string fileExtension = System.IO.Path.GetExtension(FU.FileName).ToLower();
            string[] allowedExtensions ={ ".gif", ".jpg", ".png", ".bmp", ".zip", ".rar", ".doc", ".xls", ".docx", ".swf", };
            for (int i = 0; i < allowedExtensions.Length; i++)
            {
                if (fileExtension == allowedExtensions[i])
                {
                    fileOK = true;
                }
            }
        }
        //        
        if (FileUpload1.PostedFile.ContentLength > 5242880) //           
        {
            Response.Write("<script>alert('   ,    ,    。        5M !')</script>");
            return;
        }
        uploadPath = System.DateTime.Now.ToString("yyyyMMddhhmmss") + oldName;
        //  saveas  ,       
        if (fileOK)
        {
            try
            {
                FileUpload1.SaveAs(path + System.DateTime.Now.ToString("yyyyMMddhhmmss") + oldName);
                Response.Write("<script>alert('    !')</script>");
                UploadTB.Text = string.Empty;
            }
            catch(Exception error)
            {
                Response.Write("<script>alert('''+error.ToString()+''')</script>");
            }
        }
        else
        { 
            Response.Write("<script>alert('    ,     !')</script>");
            UploadTB.Text = string.Empty;
            return;
        }
    }