input type=file 選擇圖片并且實(shí)現(xiàn)預(yù)覽效果的實(shí)例
通過<input />標(biāo)簽,給它指定type類型為file,可提供文件上傳;
accept:可選擇上傳類型,如:只要傳圖片,且不限制圖片格式,為image/*;
multiple:規(guī)定是否可以選擇多個(gè)文件;
規(guī)定只可上傳圖片,且可以選擇多個(gè)文件
<input type="file" accept="image/*" multiple="multiple"/>
當(dāng)然,直接一個(gè)input type=file 只能選擇上傳的文件/資源,如果我們需要在選擇圖片之后,在當(dāng)前頁面實(shí)現(xiàn)預(yù)覽效果,那么我們可以如下方式來實(shí)現(xiàn)
HTML代碼
<body>
<div id="box">
<img id="imgshow" src="" alt=""/>
</div>
<div id="pox">
<input id="filed" type="file" accept="image/*"/>
</div>
</body>
css樣式文件
<style>
#box{
width: 300px;
height: 300px;
border: 2px solid #858585;
}
#imgshow{
width: 100%;
height: 100%;
}
#pox{
width: 70px;
height: 24px;
overflow: hidden;
}
</style>
JS代碼
<script>
//在input file內(nèi)容改變的時(shí)候觸發(fā)事件
$('#filed').change(function(){
//獲取input file的files文件數(shù)組;
//$('#filed')獲取的是jQuery對(duì)象,.get(0)轉(zhuǎn)為原生對(duì)象;
//這邊默認(rèn)只能選一個(gè),但是存放形式仍然是數(shù)組,所以取第一個(gè)元素使用[0];
var file = $('#filed').get(0).files[0];
//創(chuàng)建用來讀取此文件的對(duì)象
var reader = new FileReader();
//使用該對(duì)象讀取file文件
reader.readAsDataURL(file);
//讀取文件成功后執(zhí)行的方法函數(shù)
reader.onload=function(e){
//讀取成功后返回的一個(gè)參數(shù)e,整個(gè)的一個(gè)進(jìn)度事件
console.log(e);
//選擇所要顯示圖片的img,要賦值給img的src就是e中target下result里面
//的base64編碼格式的地址
$('#imgshow').get(0).src = e.target.result;
}
})
</script>
*以上js代碼中有使用到j(luò)Query,因此要引入jQuery文件
這篇input type=file 選擇圖片并且實(shí)現(xiàn)預(yù)覽效果的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript 動(dòng)態(tài)添加事件代碼
往往我們需要在 JS 中動(dòng)態(tài)添加事件,這就涉及到瀏覽器兼容性問題了,以下談及的幾種方法,我們也常?;旌鲜褂?。2008-11-11
JavaScript異步回調(diào)的Promise模式封裝實(shí)例
這篇文章主要介紹了JavaScript異步回調(diào)的Promise模式封裝實(shí)例,本文通過分析easyjs的源碼得出,實(shí)例均參考easyjs,需要的朋友可以參考下2014-06-06
在iFrame子頁面里實(shí)現(xiàn)模態(tài)框的方法
今天小編就為大家分享一篇在iFrame子頁面里實(shí)現(xiàn)模態(tài)框的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
BootStrap Datepicker 插件修改為默認(rèn)中文的實(shí)現(xiàn)方法
bootstrap-datepicker 是一個(gè)非常優(yōu)秀的時(shí)間選擇插件,默認(rèn)是英文顯示日期的,通過下面幾個(gè)小修改讓其支持默認(rèn)中文。下面通過本文給大家介紹BootStrap Datepicker 插件修改為默認(rèn)中文的實(shí)現(xiàn)方法,一起看看吧2017-02-02
微信小程序中網(wǎng)絡(luò)請(qǐng)求緩存的解決方法
這篇文章主要給大家介紹了關(guān)于微信小程序中網(wǎng)絡(luò)請(qǐng)求緩存的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
JS生態(tài)系統(tǒng)加速npm腳本優(yōu)化及性能分析探索
這篇文章主要為大家介紹了JS生態(tài)系統(tǒng)加速npm腳本優(yōu)化及性能分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

