關于javascript判斷文件大小

對于web開發人員來說文件上傳文件是經常遇到的,判斷文件大小也是不可缺少,在這裏主要介紹一下javascript判斷文件大小的幾種常見的方法。

第一種是應用ActiveX控件的實現,例如:

Javascript代碼

<script type="text/javascript">

function getFileSize(filePath)

{

var fso = new ActiveXObject("Scripting.FileSystemObject");

alert("文件大小爲:"+fso.GetFile(filePath).size);

}

</script>

<body>

<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">

</body>

<script type="text/javascript">

function getFileSize(filePath)

{

var fso = new ActiveXObject("Scripting.FileSystemObject");

alert("文件大小爲:"+fso.GetFile(filePath).size);

}

</script>

<body>

<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">

</body>

這種方法可以實現,也容易被開發人員想到,但是唯一不足之處是有安全提示,當然把文件名改爲.hta則會屏蔽掉安全提示,但很難被需求所取。不推薦,也不多說

下面主要談談另一種方式,在html標簽中有一個不爲一般開發人員“深”知的img標簽,先來說下他有的屬性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....還有一些常用的屬性就不列出來了,在這裏我們說一下"dynsrc"這個屬性:dynsrc可以用來插入各種多媒體,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url爲音頻或視頻文件及其路徑,可以是相對路徑或絕對路徑。

示例:<img dynsrc="xxxx.mp3">

這樣我們就可以根據dynsrc動態賦值任何類型文件的路徑,在javascript中根據Image對象本身的fileSize屬性來得到文件的大小。當然Image對象還有其他的幾個屬性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代碼如下:

Javascript代碼

<script type="text/javascript">

function getFileSize(filePath)

{

var image=new Image();

image.dynsrc=filePath;

alert(image.fileSize);

}

</script>

<body>

<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">

</body>

<script type="text/javascript">

function getFileSize(filePath)

{

var image=new Image();

image.dynsrc=filePath;

alert(image.fileSize);

}

</script>

<body>

<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">

</body>

經測試,得到文件大小,並未出現安全提示,推薦,沒的說

javascript判斷上傳圖片的大小和格式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME...查看完整版>>javascript判斷上傳圖片的大小和格式
 
文件大小的計算,是關于bytes、K、M、G等的計算
<!-- 把如下代碼加入<body>區域中 --><form name="bandwidth"> <p><input type="text" name="original" size="20" value=1024> <select size="1" name="units"> <option...查看完整版>>文件大小的計算,是關于bytes、K、M、G等的計算
 
文件大小的計算,是關于bytes、K、M、G等的計算
有什麽問題請到<a href='/bbs/forums.php?fid=21'>論壇</a>中發表<br><!--# 特效來源:http://www.webjx.com/js --><!-- 把如下代碼加入<body>區域中 --><form name="bandwi...查看完整版>>文件大小的計算,是關于bytes、K、M、G等的計算
 
Javascript條件判斷小伎倆
我們已經知道,null 沒有任何的屬性值,並且無法獲取其實體(existence)值。所以 null.property 返回的是錯誤(error)而不是 undefined 。考慮下面的代碼if (node.nextSibling.className == ...) { ...}在 node ...查看完整版>>Javascript條件判斷小伎倆
 
用javascript改變和控制顯示的圖片大小
  <IMG src="images/forumnew.gif" style="border:1px #ff0000 solid" name=ntimg onResize="javascript: for(i=0;i<123 && (this.width>100||this.height>100);i++){ this.width-= this.widt...查看完整版>>用javascript改變和控制顯示的圖片大小
 
[JavaScript]幾種常用的表單輸入判斷
//函數名:chksafe//功能介紹:檢查是否含有"'",'\\',"/"//參數說明:要檢查的字符串//返回值:0:是 1:不是function chksafe(a){ return 1;/* fibdn = new Array ("'" ,"\\", "、", ",", ";", "/"); i=fibdn.len...查看完整版>>[JavaScript]幾種常用的表單輸入判斷
 
頁面上的javascript判斷
經過一段時間的編程,感覺這些javascript比較長用所以就整理了一下,其中有判斷是否爲空,判斷數字,判斷金額,及判斷時間的。像那些可以寫到js中,這樣就在頁面上簡化了好多了。 <html><head><meta ...查看完整版>>頁面上的javascript判斷
 
根據孕囊的大小判斷懷孕的天數
我最後一次月經是在2009.1.7來的,2月20日B 超還做不出來,3月6日檢查出孕囊1.1*1.4,未見卵黃和心跳,請問各爲高人,我懷孕的准確時間 是哪天?問題補充:我平時的月經周期都是30天,很准的。 還有就是我們是1.20 1...查看完整版>>根據孕囊的大小判斷懷孕的天數
 
如何判斷機器的大小端的問題
如何判斷機器的大小端的問題,在閱讀ORBacus的代碼中看到的,特此載出1.intmain (){ /* Are we little or big endian? From Harbison&Steele. */ union { long l; char c[sizeof (long)]; } u; u.l ...查看完整版>>如何判斷機器的大小端的問題
 
 
回到王朝網路移動版首頁