js实现的在本地预览图片功能示例


Posted in Javascript onNovember 09, 2019

本文实例讲述了js实现的在本地预览图片功能。分享给大家供大家参考,具体如下:

移动web

<body>
<form enctype="multipart/form-data" name="form1">
上传文件:<input id="f" type="file" name="f" onchange="change()" />
预览:<img id="preview" alt="" name="pic" width="300" height="150" />
</form>
<script>
function change() {
   var pic = document.getElementById("preview");
   var file = document.getElementById("f");
   var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase();//js获取文件名的后缀
   html5Reader(file);
 }
 function html5Reader(file){
   var file = file.files[0];
   var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function(e){
     var pic = document.getElementById("preview");
     pic.src=this.result;
   }
 }
</script>  
</body>
</html>

兼容ie版本

function change() {
   var pic = document.getElementById("preview");
   var file = document.getElementById("f");
   var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase();
   // gif在IE浏览器暂时无法显示
   if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){
     alert("文件必须为图片!"); return;
   }
   // IE浏览器
   if (document.all) {
     file.select();
     var reallocalpath = document.selection.createRange().text;
     var ie6 = /msie 6/i.test(navigator.userAgent);
     // IE6浏览器设置img的src为本地路径可以直接显示图片
     if (ie6) pic.src = reallocalpath;
     else {
       // 非IE6版本的IE由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现
       pic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src=\"" + reallocalpath + "\")";
       // 设置img的src为base64编码的透明图片 取消显示浏览器默认图片
       pic.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
     }
   }else{
     html5Reader(file);
   }
 }
 function html5Reader(file){
   var file = file.files[0];
   var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function(e){
     var pic = document.getElementById("preview");
     pic.src=this.result;
   }
 }

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
使用jQuery简化Ajax开发 Ajax开发入门
Oct 14 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
Jun 24 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
jquery制作属于自己的select自定义样式
Nov 23 Javascript
mpvue跳转页面及注意事项
Aug 03 Javascript
iSlider手机端图片滑动切换插件使用详解
Dec 24 Javascript
js中复选框的取值及赋值示例详解
Oct 18 Javascript
详解Vue 的异常处理机制
Nov 30 Vue.js
Node.js实现断点续传
Jun 23 Javascript
微信小程序APP的生命周期及页面的生命周期
Apr 19 Javascript
vue 取出v-for循环中的index值实例
Nov 09 #Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 09 #Javascript
Vue实现页面添加水印功能
Nov 09 #Javascript
vue 实现特定条件下绑定事件
Nov 09 #Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 #Javascript
vue 根据选择条件显示指定参数的例子
Nov 09 #Javascript
在vue中动态添加class类进行显示隐藏实例
Nov 09 #Javascript
You might like
第六节--访问属性和方法
2006/11/16 PHP
一个很不错的PHP翻页类
2009/06/01 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JS的数组迭代方法
2015/02/05 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
开学典礼决心书
2014/03/11 职场文书
小学社团活动总结
2014/06/27 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
运动会表扬稿
2015/01/16 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
教研活动主持词
2015/07/03 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
Python基础之条件语句详解
2021/06/16 Python
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技