• [转]很简单的JS实现上传前预览图片(兼容IE8)


    关于图片预览的一个小方法,很简单,我在网上看到的,下面是源码:

     1 <html xmlns="http://www.w3.org/1999/xhtml">
     2 <head>
     3 <script type="text/javascript" language="javascript">
     4 
     5     function PreviewImg(imgFile) {
     6 
     7         var imgDiv = document.getElementById("gggg");
     8 
     9         imgDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";
    10         imgDiv.filters("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
    11     } 
    12 </script>
    13 </head>
    14 <body>
    15     <form id="form1" runat="server">
    16     <div>
    17         <asp:FileUpload ID="fp" onchange="javascript:PreviewImg(this);" runat="server" />
    18     </div>
    19        <div id="gggg" style=" 300px; height: 300px">
    20     </div>       
    21     </form>
    22 </body>
    23 </html>

    起初是看了这个:

    将如下代码放入<head></head>中:

     1 <script type="text/javascript" language="javascript"> 
     2 <!-- 
     3 function PreviewImg(imgFile){ 
     4    
     5      var newPreview = document.getElementById("newPreview");     
     6      var imgDiv = document.createElement("div"); 
     7      document.body.appendChild(imgDiv); 
     8      imgDiv.style.width = "118px";     imgDiv.style.height = "127px"; 
     9      imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";    
    10      imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value; 
    11      newPreview.appendChild(imgDiv);     
    12      var showPicUrl = document.getElementById("showPicUrl"); 
    13      showPicUrl.innerText=imgFile.value; 
    14      newPreview.style.width = "80px"; 
    15      newPreview.style.height = "60px"; 
    16 } 
    17 --> 
    18 </script> 

    在页面中加入如下代码:

    1          <div id="newPreview"></div> 
    2          <div id="showPicUrl"></div> 
    3          <hr /> 
    4          <p> 
    5              选择图片:<input type="file" size="20" onchange="javascript:PreviewImg(this);" /> 
    6          </p>

    后来发现这样不能实现只预览一张!!它是预览一张就添加一张!而我要的是只预览一张!经过网上在搜索看到了关于这个方法的说明!!便得到了我的方法!!

    以下便是这个方法的说明:

    在 IE6 中,可以很方便地利用 img 的 src 属性,实现本地图片预览,然而在 IE7 中,这种办法却行不通。需要用 AlphaImageLoader 。

    说明:

    在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。

    语法:

    filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

    enabled: 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。
    true:默认值。滤镜激活。
    false:滤镜被禁止。

    sizingMethod: 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
    crop:剪切图片以适应对象尺寸。
    image:默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
    scale:缩放图片以适应对象的尺寸边界。

    src: 必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

     来源:http://hi.baidu.com/pukuimin1226/item/ddf147972c6d9cdc1a49dfe9

  • 相关阅读:
    手机文件夹的emulated什么意思
    数据结构
    Django简介
    forms组件
    前端css
    mysql进阶知识
    mysql入门知识
    html文档知识补充
    前端基础
    python 面试题
  • 原文地址:https://www.cnblogs.com/seasons1987/p/2773548.html
Copyright © 2020-2023  润新知