JS上传前预览图片实例


Posted in Javascript onMarch 25, 2013

预览图片的js代码:

<script type="text/javascript">
        function setImagePreview(docObj,localImagId,imgObjPreview) 
        {
            if(docObj.files && docObj.files[0])
            {
                //火狐下,直接设img属性
                imgObjPreview.style.display = 'block';
                imgObjPreview.style.width = '300px';
                imgObjPreview.style.height = '200px';                    

                //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式  
                imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
            }
            else
            {
                //IE下,使用滤镜
                docObj.select();
                var imgSrc = document.selection.createRange().text;
                //必须设置初始大小
                localImagId.style.width = "300px";
                localImagId.style.height = "200px";
                //图片异常的捕捉,防止用户修改后缀来伪造图片
                try
                {
                    localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                    localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
                 }
                 catch(e)
                 {
                    alert("您上传的图片格式不正确,请重新选择!");
                    return false;
                  }                          
                  imgObjPreview.style.display = 'none';
                  document.selection.empty();
            }
            return true;
        }
</script>

fileupload控件及用来预览图片的image:

<div id="localImag"  style="width: 300px; height: 200px">
   <img id="preview" alt="预览图片" src="https://3water.com/images/logo.gif" width="300px" height="200px" />
</div>
   <asp:FileUpload ID="PicLoad" Width="300px" runat="server" onchange="javascript:setImagePreview(this,localImag,preview);">
   </asp:FileUpload>
  

功能很简单,代码也很易懂,相信不用我多废话大家也能看懂吧。感觉写这样的文章,真的没啥好说的,不多说,还是把重点放在代码上吧。
Javascript 相关文章推荐
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 Javascript
javascript中callee与caller的区别分析
Apr 20 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
JavaScript中获取HTML元素值的三种方法
Jun 20 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
轻松搞定js表单验证
Oct 13 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
详解JavaScript中return的用法
May 08 Javascript
详解React Native网络请求fetch简单封装
Aug 10 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
js实现杯子倒水问题自动求解程序
Mar 25 #Javascript
js实现上传图片之上传前预览图片
Mar 25 #Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 #Javascript
多个表单中如何获得这个文件上传的网址实现js代码
Mar 25 #Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 #Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
Mar 24 #Javascript
js 字符串转换成数字的三种方法
Mar 23 #Javascript
You might like
DOMXML函数笔记
2006/10/09 PHP
一个PHP数组应该有多大的分析
2009/07/30 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
Python判断操作系统类型代码分享
2014/11/22 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
最新奶茶店创业计划书范文
2014/02/08 职场文书
护理中职生求职信范文
2014/02/24 职场文书
十佳家长事迹材料
2014/08/26 职场文书
通知书大全
2015/04/27 职场文书
红色革命电影观后感
2015/06/18 职场文书
高中班长竞选稿
2015/11/20 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
浅谈Python中的正则表达式
2021/06/28 Python
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers