Hopes

          Start Here..

           

          js判斷上傳文件大小

          js判斷上傳文件大小 (一)

          Js代碼
          <html>
          <head>
          <script type="text/javascript">
          var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
          function fileChange(target) {

          var fileSize = 0;
          if (isIE && !target.files) {
          var filePath = target.value;
          var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
          var file = fileSystem.GetFile (filePath);
          fileSize = file.Size;
          } else {
          fileSize = target.files[0].size;
          }
          var size = fileSize / 1024;
          if(size>10000){
          alert("附件不能大于10M");


          }

          }
          </script>
          </head>
          <body>
          <input type="file" name="contractFileName" style="width: 500px;" onchange="fileChange(this);"/>
          </body>
          </html>


          自己網(wǎng)上找資料 并測試 文件上傳大小限制的一個例子,兼容ie6,ie7,ie8 ,Google Chrome,ff等瀏覽器,ie8上面在安全設置處設置一下就好了(工具 => Internet選項 => 安全 => Internet => 自定義級別 找到“將文件上載到服務器時包含本地目錄路徑”,設為“啟用”即可)。

          Js代碼
          function fileChange(target,id) {
          var fileSize = 0;
          if (isIE && !target.files) {
          var filePath = target.value;
          var fileSystem = new ActiveXObject("Scripting.FileSystemObject");

          if(!fileSystem.FileExists(filePath)){
          alert("附件不存在,請重新輸入!");
          var file=document.getElementById(id);
          file.outerHTML=file.outerHTML;
          return;
          }
          var file = fileSystem.GetFile (filePath);
          fileSize = file.Size;
          } else {
          fileSize = target.files[0].size;
          }

          var size = fileSize / 1024;
          if(size>100000){
          alert("附件大小不能大于100M!");
          var file=document.getElementById(id);
          file.outerHTML=file.outerHTML
          }
          if(size<=0){
          alert("附件大小不能為0M!");
          var file=document.getElementById(id);
          file.outerHTML=file.outerHTML
          }
          }



          js判斷上傳文件大小 (二)

          <script type="text/javascript">
          function chksize(strFileName){
          try
          {
          var maxsize = 100; //定義允許文件的大小,單位KB,請根據(jù)需要自行修改!
          var objStream = new ActiveXObject("ADODB.Stream");
          objStream.Type = 1;
          objStream.Open();
          objStream.LoadFromFile(strFileName);
          if(Math.round(objStream.Size/1024)>maxsize)
          {alert ("抱歉!您選擇的文件為 "+Math.round(objStream.Size/1024,2)+" KB n超過了程序"+maxsize+" KB 的限制!");
          document.form1.reset();
          return false;
          }
          else
          alert("可以上傳");
          }catch(e)
          {
          alert("不支持");
          }
          }



          js判斷上傳文件大小 (三)

          <script language="javascript" type="text/javascript">
          function getFileSize(filename)
          {
          // var filename = document.all('fileup').value; //獲得上傳文件的物理路徑
          if(filename =='')
          {
          alert("你還沒有瀏覽要上傳的文件");
          return false;
          }

          try {

          var fso,f,fname,fsize;
          var flength=40000; //設置上傳的文件最大值(單位:kb),超過此值則不上傳。
          fso=new ActiveXObject("Scripting.FileSystemObject");
          f=fso.GetFile(filename);//文件的物理路徑
          fname=fso.GetFileName(filename);//文件名(包括擴展名)
          fsize=f.Size; //文件大小(bit)
          fsize=fsize/1024;
          //去掉注釋,可以測試
          //alert("文件路徑:"+f);
          //alert("文件名:"+fname);
          //alert("文件大小:"+fsize+"kb");
          if(fsize>flength)
          {
          alert("上傳的文件到小為:"+fsize+"kb,\n超過最大限度"+flength+"kb,不允許上傳 ");
          return false;
          }
          else
          {alert("允許上傳,文件大小為:"+fsize+"kb");}

          }
          catch(e)
          {
          alert(e+"\n 跳出此消息框,是由于你的activex控件沒有設置好,\n"+
          "你可以在瀏覽器菜單欄上依次選擇\n"+
          "工具->internet選項->\"安全\"選項卡->自定義級別,\n"+
          "打開\"安全設置\"對話框,把\"對沒有標記為安全的\n"+
          "ActiveX控件進行初始化和腳本運行\(zhòng)",改為\"啟動\"即可");
          return false;
          }

          return true;

          }
          </script>
          </head>
          <body>
          <form id="Form1" method="post" encType="multipart/form-data" runat="server">
          <INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)">
          <input type=button onclick="getFileSize(document.all('fileup').value)" value="測試">

          </form>
          </body>




          js判斷上傳文件大小 (四)

          <title>測試文件</title>

          <Script language="JavaScript" type="text/javascript">
          function checkFileSize(filesizeKb){
          try{
          if(document.all){//頁面內(nèi)所有元素的一個集合,可判斷是否是IE
          var filename = document.getElementById("filename").value;
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          if(!fso.FileExists(filename)){
          alert("上傳文件不存在,請重新輸入!");
          document.execCommand("undo");//對網(wǎng)頁的所有表單進行撤銷的
          return false;
          }
          var file = fso.getfile(filename);
          var fileSize = file.size; //單位:b
          var fileSizeKb = fileSize/1024;//轉(zhuǎn)換為kb
          if(parseFloat(fileSizeKb)>parseFloat(filesizeKb)){
          alert("當前文件大小為"+parseFloat(fileSizeKb)+"kb,最大上傳文件大小為"+filesizeKb+"kb!");
          document.execCommand("undo");//對網(wǎng)頁的所有表單進行撤銷的
          return false;
          }else{
          //alert("當前文件大小為"+parseFloat(fileSizeKb)+"kb!");
          }
          formname.submit();
          }
          } catch(e){
          if(e.description=="Automation服務器不能創(chuàng)建對象"){
          alert("文件大小驗證未生效!\r\n啟用此驗證,請如下修改瀏覽器設置:工具->Internet選項->安全->本地Intranet->自定義級別->ActiveX控件和插件->對沒有標記為安全的ActiveX控件進行初始化和腳本運行->啟用!");
          formname.submit();
          }else{
          //alert(e.description);
          //可能出現(xiàn)“拒絕訪問”異常,刷新后又無此異常
          window.location.reload();
          }
          }
          }
          </script>
          </head>
          <body>
          <form name="formname" action="test2.jsp"><input type="file" name="filename" id="filename"><br>
          <input type="button" value="上傳文件" onclick="checkFileSize(45)" ><br>
          </form></body>
          </html>


          posted on 2012-09-25 20:08 ** 閱讀(595) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          統(tǒng)計

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 班戈县| 樟树市| 南华县| 崇仁县| 阜平县| 乐清市| 松潘县| 清河县| 康马县| 萝北县| 赣州市| 金昌市| 依安县| 泰宁县| 漯河市| 东乡族自治县| 彭泽县| 荥阳市| 紫金县| 上林县| 商水县| 蚌埠市| 鄯善县| 潞西市| 紫金县| 海宁市| 新竹县| 都匀市| 永春县| 游戏| 孝昌县| 岢岚县| 德阳市| 灵丘县| 桂阳县| 富宁县| 综艺| 东丰县| 神农架林区| 合作市| 阳城县|