需求分析:
在做上傳圖片的時(shí)候,如果不限制上傳圖片大小,后果非常的嚴(yán)重。那么我們?cè)鯓硬趴梢越鉀Q一個(gè)棘手的問(wèn)題呢?有兩種方式:
1)后臺(tái)處理: 也就是AJAX POST提交到后臺(tái),把圖片上傳到服務(wù)器上,然后獲得該圖片大小做處理。
2)前臺(tái)處理: 也就是利用Javascript獲取該圖片大小。
顯然第一種方式,很不好。因?yàn)樾枰盐募壬蟼鞯椒?wù)器上,如果文件很大的話,在加上網(wǎng)不是很快,需要等待好長(zhǎng)時(shí)間,治標(biāo)不治本。
功能解析:
在這里我只介紹IE與FireFox兩個(gè)瀏覽器的不同做法。
IE6:
關(guān)鍵字: fileSize onreadystatechange complete
在IE6中可以通過(guò)Img對(duì)象的fileSize 屬性獲得文件大小,但這個(gè)fileSize屬性的正確值是建立在onreadystatechange 事件的complete 中,也就是
<img src="" class="img" onreadystatechange="Javascript:sizeCheck(this);"> function sizeCheck(img) { if(img.readyState == "complete") { alert(img.fileSize); } }FireFox3.0:
關(guān)鍵字: getAsDataURL() fileSize
在FireFox中處于安全的考慮,無(wú)法獲得上傳圖片的完整路徑,只能獲得圖片名稱。但瀏覽器提供nsIDOMFile
主站蜘蛛池模板:
仪陇县|
阿合奇县|
武宁县|
中山市|
依安县|
喀喇沁旗|
吴旗县|
浦江县|
彭州市|
丽水市|
邵武市|
安龙县|
滦南县|
林西县|
承德县|
和静县|
东兰县|
信阳市|
新沂市|
淳安县|
巴林左旗|
增城市|
万全县|
绥宁县|
盐山县|
余姚市|
来宾市|
铜川市|
陵川县|
利辛县|
日照市|
上思县|
千阳县|
武冈市|
开江县|
齐河县|
新乡县|
昭苏县|
淮北市|
汝南县|
延川县|