需求分析:
在做上傳圖片的時(shí)候,如果不限制上傳圖片大小,后果非常的嚴(yán)重。那么我們?cè)鯓硬趴梢越鉀Q一個(gè)棘手的問題呢?有兩種方式:
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中可以通過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
主站蜘蛛池模板:
明光市|
兴化市|
周口市|
台中县|
福贡县|
秭归县|
泗洪县|
福州市|
金塔县|
垣曲县|
资兴市|
永靖县|
得荣县|
田阳县|
扎兰屯市|
定兴县|
乌鲁木齐县|
陆丰市|
漳州市|
昌吉市|
新和县|
宁波市|
石渠县|
青冈县|
河池市|
澜沧|
海淀区|
锦州市|
讷河市|
吉水县|
龙海市|
英超|
洛南县|
自贡市|
桐乡市|
石河子市|
山东省|
泽普县|
兰西县|
玉田县|
临沂市|