這篇文章主要為大家詳細(xì)介紹了基于jquery實(shí)現(xiàn)圖片上傳前本地預(yù)覽功能,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)圖片上傳前預(yù)覽的具體代碼,供大家參考,具體內(nèi)容如下
介紹之前有一個(gè)小問(wèn)題,一直找不到圖片預(yù)覽時(shí),圖片不出來(lái)的原因,原來(lái)在于圖片的路徑?。。∫恢睂?xiě)的是圖片的本地路徑,沒(méi)有什么用。直接上代碼。
html部分:
代碼如下:
<img id="pic" src="" >
<input id="upload" name="file" accept="image/*" type="file" style="display: none"/>
input:file事件是上傳類(lèi)型
較常用的屬性值如下:
accept:表示可以選擇的文件MIME類(lèi)型,多個(gè)MIME類(lèi)型用英文逗號(hào)分開(kāi),常用的MIME類(lèi)型見(jiàn)下表。
若要支持所有圖片格式,則寫(xiě) * 即可。
multiple:是否可以選擇多個(gè)文件,多個(gè)文件時(shí)其value值為第一個(gè)文件的虛擬路徑
input:file的樣式是不變的,所以若要改變它的樣式,首先將它隱藏。display:none;
CSS部分:
因?yàn)樽龅氖且粋€(gè)圓形的頭像,所以對(duì)圖片樣式先進(jìn)行定義。
#pic{
width:100px;
height:100px;
border-radius:50% ;
margin:20px auto;
cursor: pointer;
}
jQuery部分:
$(function() {
$("#pic").click(function () {
$("#upload").click(); //隱藏了input:file樣式后,點(diǎn)擊頭像就可以本地上傳
$("#upload").on("change",function(){
var objUrl = getObjectURL(this.files[0]) ; //獲取圖片的路徑,該路徑不是圖片在本地的路徑
if (objUrl) {
$("#pic").attr("src", objUrl) ; //將圖片路徑存入src中,顯示出圖片
}
});
});
});
//建立一個(gè)可存取到該file的url
function getObjectURL(file) {
var url = null ;
if (window.createObjectURL!=undefined) { // basic
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
運(yùn)行結(jié)果如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)jquery程序有所幫助。