`

【转】前台JS限制上传图片质量大小和尺寸

 
阅读更多

前台JS限制上传图片质量大小和尺寸!(转)<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=??????"> 
<script language="javascript"> 
<!-- 
function imgSel() 
{ 
var img = new Image(); 
img.src = document.imageForm.file.value; 
document.imageForm.width.value = img.width; 
document.imageForm.height.value = img.height; 
document.imageForm.size.value = img.fileSize; 
document.images['image'].src = img.src; 
} 
--> 
</script> 
</head> 
<body> 
<form name="imageForm"> 
宽: <input name="width" type="text" size="6"> 高: <input name="height" type="text" size="6"> 大小: <input name="size" type="text" size="6"><br> 
<input name="file" type="file" onChange="imgSel()"><br> 
<img src="" name="image"> 
</form> 
</body> 
</html> 



用CSS实现的方法: 

    把一副大图片按比例缩小或者放大到某个尺寸,对于标准浏览器(如Firefox),或者最新都IE7浏览器,直接使用max-width,max-height;或者min-width,min-height的CSS属性即可。如: 
img{max-width:100px;max-height:100px;} 
img{min-width:100px;min-height:100px;} 

对于IE6及其以下版本的浏览器,则可以利用其支持的expression属性,在css code中嵌入javascript code来实现图片的缩放 
.thumbImage {max-width: 100px;max-height: 100px;} /* for Firefox & IE7 */ 
* html .thumbImage { /* for IE6 */ 
width: expression(this.width > 100 && this.width > this.height ? 100 : auto); 
height: expression(this.height > 100 ? 100 : auto); 
} 

由于把图片放大,可能存在图片锯齿化的问题,一般用在图片缩小的情况是较多的。 

----------------------------------------------------------------------- 
有时候图片太大,会破环网页整齐的布局。这时可以用css来强制按比例压缩图片的高度或宽度 
css代码如下: 
img,a img{ 
border:0;  
margin:0;  
padding:0; 
max-width:590px; 
width:expression(this.width>590?"590px":this.width); 
max-height:590px; 
height:expression(this.height>590?"590px":this.height); 
} 
这样当图片的高度或宽度若超过590px,将会按比例压缩成590px,如果不超过则按原大小显示。 

用JavaScript实现的方法: 

用JavaScript实现网页图片等比例缩放 

  如何让网页中的图片等比例缩放呢,我参考了一些代码并自己写了个图片缩放的脚本,可以点击放大,同时用鼠标滑轮自由缩放,希望提出不同意见。 

  首先看看resizeimg函数的源代码: 
function resizeimg(ImgD,iwidth,iheight) { 
     var image=new Image(); 
     image.src=ImgD.src; 
     if(image.width>0 && image.height>0){ 
        if(image.width/image.height>= iwidth/iheight){ 
           if(image.width>iwidth){ 
               ImgD.width=iwidth; 
               ImgD.height=(image.height*iwidth)/image.width; 
           }else{ 
                  ImgD.width=image.width; 
                  ImgD.height=image.height; 
                } 
               ImgD.alt=image.width+"×"+image.height; 
        } 
        else{ 
                if(image.height>iheight){ 
                       ImgD.height=iheight; 
                       ImgD.width=(image.width*iheight)/image.height; 
                }else{ 
                        ImgD.width=image.width; 
                        ImgD.height=image.height; 
                     } 
                ImgD.alt=image.width+"×"+image.height; 
            } 
     ImgD.style.cursor= "pointer"; //改变鼠标指针 
     ImgD.onclick = function() { window.open(this.src);} //点击打开大图片 
    if (navigator.userAgent.toLowerCase().indexOf("ie") > -1) { //判断浏览器,如果是IE 
      ImgD.title = "请使用鼠标滚轮缩放图片,点击图片可在新窗口打开"; 
      ImgD.onmousewheel = function img_zoom() //滚轮缩放 
      { 
          var zoom = parseInt(this.style.zoom, 10) || 100; 
          zoom += event.wheelDelta / 12; 
          if (zoom> 0) this.style.zoom = zoom + "%"; 
          return false; 
      } 
     } else { //如果不是IE 
            ImgD.title = "点击图片可在新窗口打开"; 
         } 
    } 
} 


  在需要实现等比缩放的图片上加上onload语句,图片装载时初始化大小。 
  具体实现代码如下: 
   <img name="" src="" onload="javascript:resizeimg(this,100,200)"> 

  赶快行动,把这个特效加入到你的网页图片中去。 
---------------------------------------------------------------------------- 
<script   language="JavaScript">   
  {   
  var   flag=false;   
  function   DrawImage(ImgD){   
        var   image=new   Image();   
        image.src=ImgD.src;   
        if(image.width>0   &&   image.height>0){   
          flag=true;   
          if(image.width/image.height>=0){   
            if(image.width>520){       
            ImgD.width=520;   
            ImgD.height=(image.height*520)/image.width;   
            }else{   
            ImgD.width=image.width;       
            ImgD.height=image.height;   
            }   
            //ImgD.alt=image.width+"×"+image.height; 
   ImgD.alt="点击此处在新窗口中打开!" 
            }   
          else{   
            if(image.height>235){       
            ImgD.height=235;   
            ImgD.width=(image.width*235)/image.height;             
            }else{   
            ImgD.width=image.width;       
            ImgD.height=image.height;   
            }   
            //ImgD.alt=image.width+"×"+image.height;   
   ImgD.alt="点击此处在新窗口中打开!" 
            }   
          }   
  }     
  }   
  </script> 

例:<img src="2.gif" border="0" class="borderpic" onload="javascript:DrawImage(this);"></a> 

 原文地址:http://www.cnblogs.com/nuke/archive/2010/12/09/1901276.html

分享到:
评论

相关推荐

    JavaScript实现的前台限制文件上传类型和大小

    代码是从一个论坛找到的,程序简单易懂,现在不用分共享给需要的人

    asp前台图片限制显示大小

    asp前台图片限制显示大小 将文件嵌入页面,通过传参数的方式调用函数来制定需要显示图片的大小

    js html java servlet 前台接收base64数据后台转图片保存上传

    js html java servlet 前台接收base64数据后台转图片保存上传 全套代码 直接可以用

    Javascript验证上传图片大小[前台处理]_.docx

    本文主要讨论了两种图片大小验证方法:后台处理和前台处理,并重点介绍了使用JavaScript在前端进行图片大小验证的实现方式。 后台处理通常涉及通过AJAX将图片上传到服务器,然后在服务器端检查文件大小。这种方式...

    好用的js异步上传图片插件,带压缩功能

    在IT行业中,JavaScript(简称js)作为一种广泛应用于前端开发的语言,常常被用来处理与用户交互相关的任务,其中包括图片上传功能。随着互联网应用的发展,用户对上传图片的质量、速度和便捷性有了更高的要求,因此...

    Javascript验证上传图片大小[前台处理]

    在前台验证图片大小时,我们通常会限制用户上传图片的最大尺寸,比如100KB。实现时,首先会在文件输入框上绑定一个change事件,当用户选择文件后,该事件被触发。 在事件处理函数中,首先获取用户选中的图片文件...

    前台页面图片JS效果 3D效果

    在前端开发中,JavaScript(JS)经常被用来增强网页的交互性和视觉效果,尤其是在创建动态图像展示时。"前台页面图片JS效果 3D效果"的主题着重于利用JS实现3D图片展示,这是一种吸引用户注意力并提升用户体验的技术...

    前台文件js上传

    本示例"前台文件js上传"提供了一个完整的文件上传解决方案,结合了JavaScript、Java服务器页面(JSP)以及CSS样式,使得用户可以在浏览器端方便地进行文件上传操作。下面我们将详细探讨这些技术以及它们在实现文件上传...

    java处理图片上传旋转问题,前台后台讲解特别明了。

    1. **读取Exif信息**:使用JavaScript库如`exif-js`,可以读取图片的Exif信息,包括旋转角度。 2. **使用Canvas**:通过HTML5的`&lt;canvas&gt;`元素,可以绘制图片并根据Exif中的旋转信息进行旋转,然后将旋转后的图片...

    前台javascript速度优化

    在前端开发中,JavaScript是构建交互式用户界面和动态网页的关键技术。为了提供更好的用户体验,JavaScript性能优化至关重要。本文将深入探讨"前台JavaScript速度优化"的相关知识点,包括但不限于代码优化策略、工具...

    Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台来回转换

    Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台来回转换,Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台来回转换,Emoji 转换 包含js前台转换 和c# EmojiCodeHelper类 可以前后台...

    前台JS实现图片轮播

    本篇文章将详细讲解如何使用JavaScript(JS)在前台实现一个带有切换特效的图片轮播功能。 一、HTML结构 首先,我们需要在HTML中创建轮播的基础结构。通常包括一个容器元素(如`div`),用于存放所有的图片,以及...

    js屏蔽前台提交按钮

    在网页开发中,JavaScript(简称JS)是一种广泛使用的客户端脚本语言,用于增强用户交互和动态页面内容。在处理表单提交时,为了防止用户快速连续点击提交按钮导致多次请求,或者由于网络延迟使得用户误认为提交未...

    js上传附件

    在JavaScript(简称JS)中实现上传附件功能是一项常见的任务,特别是在网页应用中。这个功能允许用户选择并上传本地文件到服务器,通常与表单提交或数据存储相关联。本项目中,"js上传附件"的功能可能包括以下几个...

    微信小程序上传图片并压缩到指定大小

    1 小程序上传图片 2 可回显(数据库加载图片回显) 3 可压缩至指定大小(php后天提取了一个方法,可等比例压缩图片到指定大小) 4 后台保存到服务器指定文件夹,路径写到了数据库对应字段 附件包含前台界面vue,页面...

    前台源码\JS前台特效12月(全集).zip

    《JS前台特效12月(全集)》这个压缩包文件包含了前端开发中常见的JavaScript特效实现,对于前端开发者来说是一个非常宝贵的资源集合。这个资源包旨在帮助开发者快速找到并学习各种JavaScript特效,以便在实际项目中...

    二进制流形式上传图片,然后前台显示图片示例(vs2005+sql2005)

    创建一个包含图片ID、图片名称和图片二进制数据的表,用于存储上传的图片信息。 四、图片存储 当图片被上传并转换为二进制流后,需要将其存储到数据库中。通过ADO.NET,你可以使用SqlCommand对象执行INSERT语句,...

    前台图片翻转特效

    "前台图片翻转特效"是一种吸引用户注意力、提升网站视觉效果的设计手法。这种特效通常应用于产品展示和新闻展示中,以增加用户的交互性和页面的动态感。下面我们将深入探讨如何实现这种CSS图片滑动特效以及其背后的...

    myfocus前台图片像素控制js库

    【myfocus前台图片像素控制js库】是一种专用于优化网页图像显示效果的JavaScript库,尤其在处理高分辨率屏幕和响应式设计时显得尤为重要。MyFocus库由谷歌开发,旨在提供一种高效、灵活的方法来控制网页上的图片像素...

    前台Javascript转换特殊字符

    "前台JavaScript转换特殊字符"这个主题涉及到的是如何在JavaScript中处理和转换文本中的特殊字符,以确保数据的正确显示和处理。在网页开发中,经常遇到需要对用户输入进行清理或者格式化的情况,比如防止XSS(跨站...

Global site tag (gtag.js) - Google Analytics