前端实现图片上传实时预览的两种方式
来源:互联网 发布:淘宝修改密码 编辑:程序博客网 时间:2024/05/16 14:38
前端实现图片上传实时预览
方法一:
Html代码:
<div class="dv_info_box"><div class="dv_pic_box"> </div><button class="btn_add_pic">添加图片</button></div>
Css样式:
.dv_pic_item{ width: 200px; height: 260px; margin: 5px 5px; float: left;}.btn_add_pic{ width: 80px; height: 30px; border-radius: 6px; outline: none; border: none; background-color: #00BCD4; color: #fff; cursor: pointer; margin-top: 20px; margin-bottom: 20px;}.input_file_style{ width: 200px; height: 20px;}.img_style{ width: 200px; height: 240px; display: block; background-size: 100% auto;}
Js代码:
var btnCount=0;function initClickListener(){ $(".btn_add_pic").click(function(){ btnCount++; var t='<div class="dv_pic_item">'; t+='<img src="" alt="" class="img_style" id="img_'+btnCount+'"/>'; t+='<inputtype="file"class="input_file_style"value="img_'+btnCount+'" id="file_'+btnCount+'"/>'; t+='</div>'; $(".dv_pic_box").append(t); $(".input_file_style").change(function(e){ console.log($(this).attr("id")); var img=document.getElementById($(this).attr("value")); var obj=document.getElementById($(this).attr("id")); if(obj && obj[0]){ img.src = window.URL.createObjectURL(obj.files[0]); }else{ obj.select(); //ie9以上版本需加上blur obj.blur(); var imgSrc = document.selection.createRange().text; //图片异常的捕捉,防止用户修改后缀来伪造图片 try{ img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; img.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; } catch(e) { alert("上传的图片格式不正确,请重新选择"); return false; } document.selection.empty(); } }); });
方法二:
利用FileReader对象,将input中的file对象,以base64转码的形式读取出来
var reader = new FileReader(); reader.onloadend = function () { bitMap=this.result; } reader.readAsDataURL(File);其中bitMap获取到的数据为图片经过base64转码后的结果,可以设置到img标签的src属性里,如 '<img src=" '+bitmap+' "/>'
效果截图:
1 0
- 前端实现图片上传实时预览的两种方式
- js实现上传图片实时预览
- angularjs 实现图片上传实时预览
- js实现上传图片实时预览
- JS实现上传图片实时预览
- 上传图片,实时预览
- 前端实现图片懒加载(lazyload)的两种方式
- 实时预览上传图片(QQ上传头像前的预览)
- 前端js实现图片上传预览
- 前端上传图片预览
- 前端上传图片预览
- 利用Selenium实现图片文件上传的两种方式
- 可预览缩略图(实时预览)的上传图片界面
- 可预览缩略图(实时预览)的上传图片界面
- 图片上传显示进度条和预览图的前端实现之预览图篇
- 图片上传预览的实现
- 上传图片实时预览缩略图
- JS图片上传实时预览
- 欢迎使用CSDN-markdown编辑器
- JavaScript二维数组转置算法
- android listview.onDraw中绘制的内容不在最顶层
- AJAX学习笔记一
- HDU 4902 线段树
- 前端实现图片上传实时预览的两种方式
- [GDOI2016旅游(QwQ~)记]
- Android之NFC(二)
- GDOI2016总结
- 仿照QQ列表展开效果
- 第一个three.js程序
- atoi函数的实现及注意事项
- UITtextView的几种回收键盘的方法
- C++使用STL:慎重选择删除元素的方法