用file標(biāo)簽實(shí)現(xiàn)多圖文件上傳預(yù)覽
更新時(shí)間:2017年02月14日 14:34:26 作者:許個(gè)愿吧!
本文介紹了用file標(biāo)簽實(shí)現(xiàn)多圖文件上傳預(yù)覽的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
js 代碼:
<script>
//下面用于多圖片上傳預(yù)覽功能
function setImagePreviews(avalue) {
var docObj = document.getElementById("files");
var dd = document.getElementById("preview");
dd.innerHTML = "";
var fileList = docObj.files;
for (var i = 0; i < fileList.length; i++) {
dd.innerHTML += "<div style='float:left' > <img id='img" + i + "' /> </div>";
var imgObjPreview = document.getElementById("img"+i);
if (docObj.files && docObj.files[i]) {
//火狐下,直接設(shè)img屬性
imgObjPreview.style.display = 'block';
//控制縮略圖大小
imgObjPreview.style.width = '70px';
imgObjPreview.style.height = '70px';
//imgObjPreview.src = docObj.files[0].getAsDataURL();
//火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[i]);
}
else {
//IE下,使用濾鏡
docObj.select();
var imgSrc = document.selection.createRange().text;
alert(imgSrc)
var localImagId = document.getElementById("img" + i);
//必須設(shè)置初始大小
localImagId.style.width = "70px";
localImagId.style.height = "70px";
//圖片異常的捕捉,防止用戶修改后綴來(lái)偽造圖片
try {
localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
}
catch (e) {
alert("您上傳的圖片格式不正確,請(qǐng)重新選擇!");
return false;
}
imgObjPreview.style.display = 'none';
document.selection.empty();
}
}
return true;
}
</script>
HTML代碼:
<form method="post" enctype="multipart/form-data"> <input type="file" accept="image/png,image/gif,image/jpg,image/jpeg" id="files" name="files" multiple onchange="javascript:setImagePreviews();" /> <input type="button" id="upload" value="上傳" /> <div id="preview"> </div> </form>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
uniapp如何使用 web-view 與網(wǎng)頁(yè)互相通信
這篇文章主要介紹了uniapp如何使用 web-view 與網(wǎng)頁(yè)互相通信,在APP中使用 this.$scope.$getAppWebview() 獲取webview對(duì)象實(shí)例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
javascript基于prototype實(shí)現(xiàn)類似OOP繼承的方法
這篇文章主要介紹了javascript基于prototype實(shí)現(xiàn)類似OOP繼承的方法,實(shí)例分析了JavaScript使用prototype實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的中類繼承的相關(guān)技巧,需要的朋友可以參考下2015-12-12
js內(nèi)存泄漏場(chǎng)景、如何監(jiān)控及分析詳解
js內(nèi)存泄漏的含義就是當(dāng)已經(jīng)不需要某塊內(nèi)存時(shí)這塊內(nèi)存還存在著,垃圾回收機(jī)制就是間歇的不定期的尋找到不再使用的變量,并釋放掉它們所指向的內(nèi)存,這篇文章主要給大家介紹了關(guān)于js內(nèi)存泄漏場(chǎng)景、如何監(jiān)控及分析的相關(guān)資料,需要的朋友可以參考下2021-11-11
PHP實(shí)現(xiàn)的各種中文編碼轉(zhuǎn)換類分享
這篇文章主要介紹了PHP實(shí)現(xiàn)的各種中文編碼轉(zhuǎn)換類分享,本文類庫(kù)支持簡(jiǎn)體中文、繁體中文、GB2312、BIG5、UTF-8等多種格式之間的轉(zhuǎn)換,需要的朋友可以參考下2015-01-01

