当前位置: 首页 > news >正文

“图片”--预览

1、jsp页面选择图片,并预览(可控制图片大小)

html代码:

<li><span>图片</span><input type="file" name="image" id="image" tabindex="5" onchange="save()"/></li>
<span id="localImag"><img id="preview" style="width:200px;height:220px;diplay:none" src="/second/images/${image }"/></span>

js代码:

        function save(){ 
                var docObj=document.getElementById("image"); 
                var imgObjPreview=document.getElementById("preview"); 
                if(docObj.files && docObj.files[0]){ 
                    //火狐下,直接设img属性 
                    imgObjPreview.style.display = 'block'; 
                    imgObjPreview.style.width = '200px'; 
                    imgObjPreview.style.height = '220px'; 
                    //imgObjPreview.src = docObj.files[0].getAsDataURL(); 
                    //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 
                    imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]); 
                }else{ 
                    //IE下,使用滤镜 
                    docObj.select(); 
                    var imgSrc = document.selection.createRange().text; 
                    var localImagId = document.getElementById("localImag"); 
                    //必须设置初始大小
                    localImagId.style.width = "200px"; 
                    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; 
                } 

效果图:

 

转载于:https://www.cnblogs.com/Crysta1/p/6178959.html

相关文章:

  • Linux整数比较
  • ios设置textField只能输入数字用于电话号码
  • 安装Mariadb常见的问题(五)
  • 入门,创建uni-app项目
  • Java中避免表单重复提交
  • uni-app中理解,区分,使用rpx单位和px单位及样式字体的导入
  • Selenium2+python自动化27-查看selenium API
  • 了解uni-app的生命周期(应用,页面生命周期)执行顺序
  • linux之程序包安装
  • Java开发程序,使用编辑器编写创建Java项目、类
  • uni-app中下拉刷新及上拉刷新的使用
  • 搭建本地api接口
  • 2016总结
  • vue,uni-app组件间的通讯(父子,兄弟组件间传值)
  • python学习笔记10(用户交互程序)
  • 网络传输文件的问题
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular2开发踩坑系列-生产环境编译
  • CSS 专业技巧
  • Java 最常见的 200+ 面试题:面试必备
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Vultr 教程目录
  • yii2中session跨域名的问题
  • 给Prometheus造假数据的方法
  • 和 || 运算
  • 基于HAProxy的高性能缓存服务器nuster
  • 数据结构java版之冒泡排序及优化
  • !$boo在php中什么意思,php前戏
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (数据结构)顺序表的定义
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)jQuery 基础
  • (转)winform之ListView
  • (转)视频码率,帧率和分辨率的联系与区别
  • .Net 路由处理厉害了
  • .netcore 获取appsettings
  • .NET建议使用的大小写命名原则
  • [145] 二叉树的后序遍历 js
  • [C#]C#学习笔记-CIL和动态程序集
  • [CLickhouse] 学习小计
  • [Codeforces] number theory (R1600) Part.11
  • [CSS]CSS 的背景
  • [EFI]Dell Inspiron 15 5567 电脑 Hackintosh 黑苹果efi引导文件
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [exgcd] Jzoj P1158 荒岛野人
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)
  • [Firefly-Linux] RK3568 pca9555芯片驱动详解
  • [Gamma]阶段测试报告
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [javaSE] 数据结构(二叉查找树-插入节点)