自知其無知
          不懂,慢慢懂。
          posts - 2,comments - 2,trackbacks - 0

          準備一個在客戶端判斷上傳文件大小,限制大小的好方法,但是實在沒有找到,
          因為即使你用  Ajax ,可能結(jié)果還沒有返回,表單就已經(jīng)被提交了。。。
          所以服務器必須重新判斷。。。。

          以下為弱弱的判斷。。

          <form name=Myform onsubmit="return CheckFileSize()">
          <input type=file name=photo><br/>
          <input type=submit value=submit></form>

          <SCRIPT LANGUAGE="JavaScript"><!--
          function CheckFileSize()
          {
          var s = document.Myform.photo.value;
          if(s==" ")return false;
          var img = new Image();
          img.src = s;
          alert("高 = " img.height "n寬 = " img.width);
          alert("fileSize = " img.fileSize " 字節(jié)");
          return false;
          }
          //--></SCRIPT>

          應用了javascript和在IE下img本身的fileSize屬性。另外img還有其他的幾個屬性,如fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我們可以通過這些屬性來獲取圖片文件的部分信息,如文件大小,我們用file表單同img標簽結(jié)合,就能夠在上傳之前判斷圖片文件的大小是否合法了。

          限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
          <input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
          <img src="about:blank" id="fileChecker" alt="test" height="18"/>

          <script type="text/javascript">
          var oFileChecker = document.getElementById("fileChecker");

          function changeSrc(filePicker)
          {
          oFileChecker.src = filePicker.value;
          }

          oFileChecker.onreadystatechange = function ()
          {
          if (oFileChecker.readyState == "complete")

          }

          function checkSize()
          {
          var limit = document.getElementById("fileSizeLimit").value * 1024;

          if (oFileChecker.fileSize > limit)
          {
          alert("too large");
          }
          else

          }
          </script>

          我的一個項目里這樣用(pendlehill)

          function CheckFileSize()
          {
          var FileMaxSize = 100;//限制上傳的文件大小,單位(k)
          var s = document.RegForm.Img_1.value;
          //if(s==""){alert("No image,please select again!");document.RegForm.Img_1.focus(); return false;}
          var img = new Image();

          img.src = s;

          if(img.fileSize>FileMaxSize*1024){alert("The file size exceeds " FileMaxSize "K,please choose a smaller one!");document.RegForm.Img_1.focus();return false;}

          //--></SCRIPT>

          <FORM action="**.asp" method="post" onSubmit="return CheckFileSize()" enctype="multipart/form-data" name="RegForm">

          <input name="Next" type="submit" class="pBttn" id="Next" value="Save">

          <form name=Myform onsubmit="return CheckFileSize()">
          <input type=file name=photo><br/>
          <input type=submit value=submit></form>

          <SCRIPT LANGUAGE="JavaScript"><!--
          function CheckFileSize()
          {
          var s = document.Myform.photo.value;
          if(s==" ")return false;
          var img = new Image();
          img.src = s;
          alert("高 = " img.height "n寬 = " img.width);
          alert("fileSize = " img.fileSize " 字節(jié)");
          return false;
          }
          //--></SCRIPT>

          應用了javascript和在IE下img本身的fileSize屬性。另外img還有其他的幾個屬性,如fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我們可以通過這些屬性來獲取圖片文件的部分信息,如文件大小,我們用file表單同img標簽結(jié)合,就能夠在上傳之前判斷圖片文件的大小是否合法了。

          限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
          <input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
          <img src="about:blank" id="fileChecker" alt="test" height="18"/>

          <script type="text/javascript">
          var oFileChecker = document.getElementById("fileChecker");

          function changeSrc(filePicker)
          {
          oFileChecker.src = filePicker.value;
          }

          oFileChecker.onreadystatechange = function ()
          {
          if (oFileChecker.readyState == "complete")

          }

          function checkSize()
          {
          var limit = document.getElementById("fileSizeLimit").value * 1024;

          if (oFileChecker.fileSize > limit)
          {
          alert("too large");
          }
          else

          }
          </script>

          我的一個項目里這樣用(pendlehill)

          function CheckFileSize()
          {
          var FileMaxSize = 100;//限制上傳的文件大小,單位(k)
          var s = document.RegForm.Img_1.value;
          //if(s==""){alert("No image,please select again!");document.RegForm.Img_1.focus(); return false;}
          var img = new Image();

          img.src = s;

          if(img.fileSize>FileMaxSize*1024){alert("The file size exceeds " FileMaxSize "K,please choose a smaller one!");document.RegForm.Img_1.focus();return false;}

          //--></SCRIPT>

          <FORM action="**.asp" method="post" onSubmit="return CheckFileSize()" enctype="multipart/form-data" name="RegForm">

          <input name="Next" type="submit" class="pBttn" id="Next" value="Save">


          posted on 2008-12-11 23:51 CopyHoo 閱讀(1581) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 施秉县| 寻甸| 通榆县| 沂水县| 阳江市| 福安市| 麻栗坡县| 抚松县| 开平市| 江孜县| 娄烦县| 宁安市| 樟树市| 临邑县| 临海市| 公主岭市| 芜湖县| 五寨县| 延长县| 桐梓县| 蕲春县| 溧阳市| 宣化县| 略阳县| 灵宝市| 铁岭市| 合作市| 浦县| 通州区| 固始县| 崇礼县| 鄱阳县| 深州市| 白山市| 阳西县| 都兰县| 杭锦旗| 日照市| 永德县| 西安市| 玉门市|