`
lukedd
  • 浏览: 22187 次
  • 性别: Icon_minigender_1
  • 来自: 金华
文章分类
社区版块
存档分类
最新评论

前台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>

分享到:
评论

相关推荐

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

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

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

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

    asp前台图片限制显示大小

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

    前台文件js上传

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

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

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

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

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

    js上传附件

    3. **文件限制**:描述中提到可以限制上传图片数量,这可以通过JavaScript进行控制。例如,可以设置一个变量来跟踪已选择的文件数量,并在用户尝试添加更多文件时进行检查。 4. **文件大小限制**:同样,File API...

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

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

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

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

    图片上传,html页面,本地预览,后台前台页面代码都有

    在IT领域,图片上传功能是网站和应用中常见的需求,特别是在社交媒体、博客系统或电子商务平台。这个主题涉及前端HTML页面的交互设计以及后端处理图片的逻辑。在本项目中,"图片上传,html页面,本地预览,后台前台...

    finecms-含有前台文件上传漏洞源码包.zip

    - **严格限制上传文件类型**:只允许特定的非可执行文件类型(如图片、文档)上传。 - **文件名重命名**:上传后立即对文件名进行随机化或哈希处理,避免文件名被预测或利用。 - **文件上传目录不可执行**:确保...

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

    总结,这个示例展示了如何利用VS2005和SQL2005实现图片的二进制流上传和前台显示,涉及到的关键技术包括二进制流处理、数据库存储、HTTP响应以及前端显示。这个过程涉及到了多种编程技巧和最佳实践,对于Web开发者来...

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

    总的来说,创建前台页面图片的3D效果是一个结合了JavaScript、CSS3和WebGL技术的过程。这不仅提升了网页的视觉吸引力,还增加了用户的参与度。理解并掌握这些技术,对于前端开发者来说,是提升网页设计水平的重要...

    通过base64上传图片到服务器并读取图片

    在IT行业中,图片上传和下载是常见的操作,特别是在Web应用和服务端交互的场景下。本文将深入探讨如何通过Base64编码实现图片的上传至服务器以及从服务器读取图片的过程。 Base64是一种用于在网络上传输二进制数据...

    asp.net上传图片到数据库(上传路径)

    if (ext.ToLower() == ".jpg" || ext.ToLower() == ".png") // 只允许上传JPG和PNG图片 { byte[] imageData = imgUpload.FileBytes; // 这里调用存储过程或执行SQL语句将imageData保存到数据库 ...

    前台javascript速度优化

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

    多图片多文件上传

    在现代Web应用中,用户经常需要上传图片和文件,例如在社交媒体、电商平台或者文档共享平台。"多图片多文件上传"是一项重要的功能,它允许用户一次性上传多个图像或文档,提高了交互性和效率。本篇文章将深入探讨...

    解决ios上传图片旋转问题。资源.zip包含后台代码,前台代码,js 和工具类

    本教程将详细介绍如何解决这个问题,并提供后台、前台代码以及JS和工具类的实现方法。 首先,我们需要理解问题的本质。当iOS设备拍摄照片时,它会保存一个叫做Exif(Exchangeable image file format)的信息,其中...

    前台JS实现图片轮播

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

Global site tag (gtag.js) - Google Analytics