var FileMaxSize = 1000;//限制上傳的檔案大小,單位(k)<br /> var s=frm.imgfile1.value;<br /> //alert(s);<br /> // if(s==""){alert("No image,please select again!");document.personRight.imgfile1.focus(); return false;}<br /> var img = new Image();<br /> img.src = s;<br /> //alert(img.fileSize);<br /> if(img.fileSize>FileMaxSize*1024){<br /> alert("The file size exceeds "+FileMaxSize+"K,please choose a smaller one!");<br /> document.personRight.imgfile1.focus();<br /> return false;<br /> }</p><p>********************************<br />javascript這樣來寫:<br />//檔案大小驗證函式,超過規定的上限,就不讓上傳,給使用者提示<br />//如果檔案超過5M,就不讓上傳<br />function pstn2ngnMigration(){<br /> if (dbfFileNameValidate()){<br /> if(fileSizeValidate()){<br /> if(confirm("do you want to execute migration ?")){'<br /> lockSystem('please waiting...',false)<br /> setTimeout("dbfFileMigration()",3000);<br /> }<br /> }<br /> };<br />}<br />//判斷是否是.DBF檔案,是返回true<br />function dbfFileNameValidate()<br />{<br /> var filestr = document.all.UploadFile.value;<br /> if(filestr=="")<br /> alert("Please select a migration file!");<br /> document.all.UploadFile.focus();<br /> return false;<br /> }else if(filestr.toLowerCase().lastIndexOf(".dbf")==-1){<br /> alert("Please select a file with DBF extension !");<br /> document.all.UploadFile.focus();<br /> return false;<br /> };<br /> return true;<br />}</p><p>//條件成立,提交<br />function dbfFileMigration()<br />{<br /> document.Uploadform.action="MigrationSendOrder.jsp";<br /> document.Uploadform.submit();<br /> unlockSystem();<br />}<br />//上傳檔案大小限制<br />function fileSizeValidate()<br />{<br /> var filestr = document.all.UploadFile.value;)<br /> var fso,f;<br /> fso=new ActiveXObject("Scripting.FileSystemObject");<br /> f=fso.GetFile(filestr);<br /> if(f.size>5*1024*1024){<br /> alert("The size of .dbf is more than 5M");<br /> return false;<br /> }<br /> return true;<br />}<br />頁面代碼如下:<br /><TR vAlign=center align=middle height=40 width="100%"><br /> <form name=Uploadform method=post encType="multipart/form-data"><br /> <TD align=left width="60%"><br /> <INPUT class=input id=UploadFile type=file size=30 name=UploadFile><br /> </TD><br /> </form><br /> <TD align=middle width="20%"><br /> <INPUT class=Btn1_w60 onclick="pstn2ngnMigration()" type=button value=upload><br /> </TD><br /></TR><br />***************************************<br />考慮通用性,還是在伺服器端判斷好 </p><p>http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C</p><p> <HTML><br /> <HEAD><br /> <SCRIPT><br /> function getFileSize (fileName) {<br /> var ext = fileName.substr(fileName.lastIndexOf(".")+1)<br /> ext=ext.toLowerCase()<br /> if(!(ext=="bmp" || ext=="gif" || ext=="jpg"))<br /> {<br /> alert("類型不對")<br /> return -1<br /> }<br /> if (document.layers) {<br /> if (navigator.javaEnabled()) {<br /> var file = new java.io.File(fileName);<br /> if (location.protocol.toLowerCase() != 'file:')<br /> netscape.security.PrivilegeManager.enablePrivilege(<br /> '沒有許可權'<br /> );<br /> return file.length();<br /> }<br /> else return -1;<br /> }<br /> else if (document.all) {<br /> window.oldOnError = window.onerror;<br /> window.onerror = function (err) {<br /> if (err.indexOf('utomation') != -1) {<br /> alert('沒有許可權,請降低安全性。');<br /> return true;<br /> }<br /> else<br /> return false;<br /> };<br /> var fso = new ActiveXObject('Scripting.FileSystemObject');<br /> var file = fso.GetFile(fileName);<br /> window.onerror = window.oldOnError;<br /> return file.Size;<br /> }<br /> } </p><p> </SCRIPT><br /> </HEAD><br /> <BODY><br /> <FORM NAME="formName"><br /> <INPUT TYPE="file" NAME="fileName"><br /> <BR><br /> <INPUT TYPE="button" VALUE="查看" ONCLICK="alert(getFileSize(this.form.fileName.value))"><br /> </FORM><br /> </BODY><br /> </HTML><br />*************************************************************<br /><HTML><br /> <HEAD><br /><title>******上傳檔案大小的限制和判斷***********</title><br /><mce:script language="javascript" type="text/javascript"><!--<br />function getFileSize(filename)<br />{<br /> // var filename = document.all('fileup').value; //獲得上傳檔案的實體路徑<br /> if(filename =='')<br /> {<br /> alert("你還沒有瀏覽要上傳的檔案");<br /> return false;<br /> }</p><p> try {</p><p> var fso,f,fname,fsize;<br /> var flength=40000; //設定上傳的檔案最大值(單位:kb),超過此值則不上傳。<br /> fso=new ActiveXObject("Scripting.FileSystemObject");<br /> f=fso.GetFile(filename);//檔案的實體路徑<br /> fname=fso.GetFileName(filename);//檔案名稱(包括副檔名)<br /> fsize=f.Size; //檔案大小(bit)<br /> fsize=fsize/1024;<br /> //去掉注釋,可以測試<br /> //alert("檔案路徑:"+f);<br /> //alert("檔案名稱:"+fname);<br /> //alert("檔案大小:"+fsize+"kb");<br /> if(fsize>flength)<br /> {<br /> alert("上傳的檔案到小為:"+fsize+"kb,/n超過最大限度"+flength+"kb,不允許上傳 ");<br /> return false;<br /> }<br /> else<br /> {alert("允許上傳,檔案大小為:"+fsize+"kb");}</p><p> }<br /> catch(e)<br /> {<br /> alert(e+"/n 跳出此訊息框,是由於你的activex控制項沒有設定好,/n"+<br /> "你可以在瀏覽器功能表列上依次選擇/n"+<br /> "工具->internet選項->/"安全/"選項卡->自訂層級,/n"+<br /> "開啟/"安全設定/"對話方塊,把/"對沒有標記為安全的/n"+<br /> "ActiveX控制項進行初始化和指令碼運行/",改為/"啟動/"即可");<br /> return false;<br /> }</p><p> return true;</p><p>}<br />// --></mce:script><br /></head><br /><body><br /><form id="Form1" method="post" encType="multipart/form-data" runat="server"><br /><INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)"><br /><input type=button onclick="getFileSize(document.all('fileup').value)" value="測試"><br /></form><br /></body>