Blogger Information
Blog 16
fans 0
comment 0
visits 18180
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
jquery实现图片上传前本地预览功能
忧郁之子的博客
Original
865 people have browsed it

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

<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>

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 ;
}

运行结果如下:

demo.jpg

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!