這次帶給大家實現jquery上傳圖片前本地先預覽,實現jquery上傳圖片前本地先預覽的注意事項有哪些,下面就是實戰案例,一起來看一下。
介紹之前有個小問題,一直找不到圖片預覽時,圖片不出來的原因,原來在於圖片的路徑! ! !一直寫的是圖片的本地路徑,沒有什麼用。直接上代碼。
html部分:
<img id="pic" src="" > <input id="upload" name="file" accept="image/*" type="file" style=" display : none"/>
input:file事件是上傳類型
較常用的屬性值如下:
accept:表示可以選擇的檔案MIME類型,多個MIME類型用英文逗號分開,常用的MIME類型請見下表。
若要支援所有圖片格式,則寫 * 即可。
multiple:是否可以選擇多個文件,多個文件時其value值為第一個文件的虛擬路徑
input:file的樣式是不變的,所以若要改變它的樣式,首先將它隱藏。 display:none;
CSS部分: 因為做的是圓形的頭像,所以先對圖片樣式定義。
#pic{ width:100px; height:100px; border-radius:50% ; margin:20px auto; cursor: pointer; }
jQuery部分:
$(function() { $("#pic").click(function () { $("#upload").click(); //隐藏了input:file样式后,点击头像就可以本地上传 $("#upload").on("change",function(){ var objUrl = getObjectURL(this.files[0]) ; //获取图片的路径,该路径不是图片在本地的路径 if (objUrl) { $("#pic").attr("src", objUrl) ; //将图片路径存入src中,显示出图片 } }); }); }); //建立一個可存取到該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 ; }
運行結果如下:
我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是實現jquery上傳圖片前本地先預覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!