这次给大家带来实现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 ;
}
运行结果如下:
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
uploadify实现显示进度条上传图片
jquery easyui插件怎么创建菜单链接按钮
以上就是实现jquery上传图片前本地先预览的详细内容。