標籤:saveas system div 注意 false ret 中文 log pos
//Button1的點擊事件 //FileUpload1.FileName為所傳檔案的名字。 //以DateTime.Now.ToString("yyyyMMddhhmmssms")包括在檔案名稱是為了防止重名,同一時間多人傳同一檔案的情況發生,造成伺服器出錯。 //檔案名稱也可以包括所傳者的唯一鍵 Request.Cookies["username"].values //擷取相對路徑//擷取相對路徑。 //upload為在該檔案下建立的一個檔案夾,跟Default平級 string path = "upload/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName; //擷取絕對路徑,用Server.MapPath()方法 string endpath = Server.MapPath(path); //限制上傳檔案的大小。系統預設是4M。這是在C#位置設定限制,還有在JS設定的。 //FileUpload1.PostedFile.ContentLength為所傳檔案的大小。 //1mb=1024kb=(1024*1024)b if (FileUpload1.PostedFile.ContentLength > ((1024 * 1024) * 10)) { Label1.Text = "檔案大小怒鞥超過10Mb"; return;/不執行後面語句 } //把檔案傳到絕對路徑下 FileUpload1.SaveAs(endpath);注意:在C#端限制所傳檔案大小不好用。 原因:如果檔案超過了系統最大長度,C#端是限制不住的,會直接將程式崩潰。
也可以在Web.confight裡面設定所傳檔案的大小。
方法:在<system.web></system.web>裡面加入 <httpRuntime maxRequestLength="70960"/>。
//在JS裡面設定所傳檔案的大小<script> document.getElementById("Button1").onclick = function () { var file = document.getElementById("FileUpload1"); if (file.value.length <= 0)//如果選中選中檔案沒有檔案沒有長度,就是沒有選中檔案 { alert("請選擇所傳檔案"); return false;//停止操作 } else { if (file.files[0].size > ((1024 * 1024) * 10))//<strong>選中檔案的第一個檔案的大小</strong>大於等於10M { alert("檔案大小怒鞥超過10Mb"); return false;//停止操作 } } }</script>
WebForm 檔案上傳