簡單的單檔案上傳

來源:互聯網
上載者:User

前台

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head id="Head1" runat="server"> 
    <title>無標題頁</title>
    <script>
    function checkType(){  
    
  //得到上傳檔案的值  
  var fileName=document.getElementById("FileUpLoad1").value;  
    
  //返回String對象中子字串最後出現的位置.  
  var seat=fileName.lastIndexOf(".");  
   
  //返回位於String對象中指定位置的子字串並轉換為小寫.  
  var extension=fileName.substring(seat).toLowerCase();  
   
  //判斷允許上傳的檔案格式  
  //if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){  

  //alert("不支援"+extension+"檔案的上傳!");  
  //return false;  
  //}else{  
  //return true;  
  //}  
    
  var allowed=[".jpg",".gif",".png",".bmp",".jpeg",".xls"];  
  for(var i=0;i<allowed.length;i++){  
      if(!(allowed[i]!=extension)){  
          return true;  
      }  
  }  
  alert("不支援"+extension+"格式");  
  return false;  

    </script>  
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
        <asp:FileUpload ID="FileUpLoad1" runat="server" /> 
        <br /> 
        <asp:Button ID="btnFileUpload" runat="server"   
        OnClick="btnFileUpload_Click" Text="檔案上傳" 
        OnClientClick="return checkType()" /> 
        <asp:Label ID="lblMessage" runat="server"></asp:Label> 
    </div> 
    </form> 
</body> 
</html> 
--------------------------------------

    protected void btnFileUpload_Click(object sender, EventArgs e)
    {

        if (FileUpLoad1.HasFile)
        {
            //判斷檔案是否小於10Mb  
            if (FileUpLoad1.PostedFile.ContentLength < 10485760)
            {
                try
                {
                    //上傳檔案並指定上傳目錄的路徑  
                   // FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")
                     //   + FileUpLoad1.FileName);
                    /*注意->這裡為什麼不是:FileUpLoad1.PostedFile.FileName 
                    * 而是:FileUpLoad1.FileName? 
                    * 前者是獲得用戶端完整限定(用戶端完整路徑)名稱 
                    * 後者FileUpLoad1.FileName只獲得檔案名稱. 
                    */

                    //當然上傳語句也可以這樣寫(貌似廢話):  
                    FileUpLoad1.SaveAs(@"D:/"+FileUpLoad1.FileName);  

                    lblMessage.Text = "上傳成功!";
                }
                catch (Exception ex)
                {
                    lblMessage.Text = "出現異常,無法上傳!";
                    //lblMessage.Text += ex.Message;  
                }

            }
            else
            {
                lblMessage.Text = "上傳檔案不能大於10MB!";
            }
        }
        else
        {
            lblMessage.Text = "尚未選擇檔案!";
        }
    } 
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.