jquery实现图片上传前本地预览功能


Posted in Javascript onMay 10, 2016

本文实例为大家分享了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 ;
 }

运行结果如下:

jquery实现图片上传前本地预览功能

更多精彩内容,请点击《jQuery上传操作汇总》,《ajax上传技术汇总》进行深入学习和研究。

以上就是本文的全部内容,希望对大家学习jquery程序有所帮助。

Javascript 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
AngularJS指令与控制器之间的交互功能示例
Dec 14 Javascript
ionic2中使用自动生成器的方法
Mar 04 Javascript
微信小程序实现左右列表联动
May 19 Javascript
Angular4.0动画操作实例详解
May 10 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 #Javascript
基于jquery实现三级下拉菜单
May 10 #Javascript
jQuery Dialog对话框事件用法实例分析
May 10 #Javascript
bootstrap网页框架的使用方法
May 10 #Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 #Javascript
jQuery的文档处理程序详解
May 10 #Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 #Javascript
You might like
php里array_work用法实例分析
2015/07/13 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
python生成随机验证码(中文验证码)示例
2014/04/03 Python
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
pandas值替换方法
2018/07/10 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
Python截图并保存的具体实例
2021/01/14 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
介绍一下gcc特性
2012/01/20 面试题
关于元旦的广播稿
2014/02/16 职场文书
事务机电主管工作职责
2014/02/25 职场文书
设计师求职信模板
2014/05/06 职场文书
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server
Apache自带的ab压力测试工具的实现
2022/07/23 Servers