獲取上傳檔案的大小

antzone發表於2017-03-26

有時候需要獲取文章的上傳大小,比如在表單中上傳檔案的時候,可能會限制上傳檔案的大小,這個就需要首先獲取檔案的大小,然後再判斷是否超出指定的範圍,本章節就介紹一下如何利用javascript在前端實現此功能。

程式碼如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html><html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript"> 
function done(){
  if (!!window.ActiveXObject || "ActiveXObject" in window){
    return true
  }
  else{
    return false;
  }
}
 
 
window.onload=function(){
  var isIE = done() && !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; 
    } 
    alert("檔案位元組大小:"+fileSize); 
    var size = fileSize / 1024; 
    if(size>10000){ 
      alert("附件不能大於10M"); 
    } 
  } 
  var ofile=document.getElementById("theid");
  ofile.onchange=function(){
    fileChange(this)
  }
}
</script> 
</head> 
<body>
<input type="file" id="theid" /> 
</body>
</html>

上面的程式碼實現了我們的要求,能夠獲取上傳檔案的大小,直接套用就可以了。

相關文章