原生js FileReader對(duì)象實(shí)現(xiàn)圖片上傳本地預(yù)覽效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)圖片上傳本地預(yù)覽效果的具體代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
label{display: inline-block;width:200px;height:40px;border:1px solid #ccc;}
.ob{background:#ccc;padding:10px;}
.imgbox img{height:100px;width:100px;margin:10px;}
</style>
</head>
<body>
<div class="ob" id="od" draggable="true">
<input type="file" id="file" multiple="multiple">
</div>
<div class="imgbox"></div>
<script>
//獲取文件url
function createObjectURL(blob){
if (window.URL){
return window.URL.createObjectURL(blob);
} else if (window.webkitURL){
return window.webkitURL.createObjectURL(blob);
} else {
return null;
}
}
var box = document.querySelector(".imgbox"); //顯示圖片box
var file = document.querySelector("#file"); //file對(duì)象
var domFragment = document.createDocumentFragment(); //文檔流優(yōu)化多次改動(dòng)dom
//觸發(fā)選中文件事件
file.onchange = function(e){
box.innerHTML =""; //清空上一次顯示圖片效果
e = e || event;
var file = this.files; //獲取選中的文件對(duì)象
for(var i = 0, len = file.length; i < len; i++){
var imgTag = document.createElement("img");
var fileName = file[i].name; //獲取當(dāng)前文件的文件名
var url = createObjectURL(file[i]); //獲取當(dāng)前文件對(duì)象的URL
//忽略大小寫
var jpg = (fileName.indexOf(".jpg") > -1) || (fileName.toLowerCase().indexOf(".jpg") > -1);
var png = (fileName.indexOf(".png") > -1) || (fileName.toLowerCase().indexOf(".png") > -1);
var jpeg = (fileName.indexOf(".jpeg") > -1) || (fileName.toLowerCase().indexOf(".jpeg") > -1);
//判斷文件是否是圖片類型
if(jpg || png || jpeg){
imgTag.src = url;
domFragment.appendChild(imgTag);
}else{
alert("請(qǐng)選擇圖片類型文件!");
}
}
//最佳顯示
box.appendChild(domFragment);
}
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript結(jié)合fileReader 實(shí)現(xiàn)上傳圖片
- JavaScript通過filereader接口讀取文件
- JS中利用FileReader實(shí)現(xiàn)上傳圖片前本地預(yù)覽功能
- JS+HTML5 FileReader對(duì)象用法示例
- JS+HTML5 FileReader實(shí)現(xiàn)文件上傳前本地預(yù)覽功能
- JavaScript html5利用FileReader實(shí)現(xiàn)上傳功能
- JavaScript使用FileReader實(shí)現(xiàn)圖片上傳預(yù)覽效果
- 基于JavaScript FileReader上傳圖片顯示本地鏈接
- JS中FileReader類實(shí)現(xiàn)文件上傳及時(shí)預(yù)覽功能
- JavaScript中的FileReader示例詳解
相關(guān)文章
TypeScript高級(jí)用法的知識(shí)點(diǎn)匯總
這篇文章主要給大家介紹了關(guān)于TypeScript高級(jí)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用TypeScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
javascript在網(wǎng)頁中實(shí)現(xiàn)讀取剪貼板粘貼截圖功能
這篇文章主要介紹了在網(wǎng)頁中實(shí)現(xiàn)讀取剪貼板粘貼截圖功能,即可以把剪貼板的截圖Ctrl+V粘貼到網(wǎng)頁的一個(gè)輸入框中,例如QQ截圖、旺旺截圖或者其它截圖軟件,需要的朋友可以參考下2014-06-06
JavaScript實(shí)現(xiàn)環(huán)繞鼠標(biāo)旋轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)環(huán)繞鼠標(biāo)旋轉(zhuǎn)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
JS判斷數(shù)組中是否有重復(fù)值得三種實(shí)用方法
數(shù)組中是否有重復(fù)值的判斷方法有很多,本文為大家推薦下比較實(shí)用的3種方法,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08
JS實(shí)現(xiàn)頁面導(dǎo)航與內(nèi)容相互錨定實(shí)例詳解
這篇文章主要為大家介紹了JS實(shí)現(xiàn)頁面導(dǎo)航與內(nèi)容相互錨定實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
基于js里調(diào)用函數(shù)時(shí),函數(shù)名帶括號(hào)和不帶括號(hào)的區(qū)別
下面小編就為大家?guī)硪黄趈s里調(diào)用函數(shù)時(shí),函數(shù)名帶括號(hào)和不帶括號(hào)的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12
JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能
本篇文章給大家介紹了JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能,文字代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03

