图片上传预览

    function Check_FileType()
    {
        var str=document.getElementById("<%=fileLoad.ClientID%>").value;
        if(str!="")
        {
            var pos=str.lastIndexOf(".");
            var lastname=str.substring(pos,str.length);
            if(lastname.toLowerCase()!=".jpg"&&lastname.toLowerCase()!=".gif")
            {
                alert("您上传的文件类型为 "+lastname+",图片必须为.jpg,.gif 类型");
                return false;
            }
            else
            {
                return true;
            }
        }else
        {
             return true;
        }
    }
  
  
        function onUploadChange(sender){ 
        var objPreview = document.getElementById("<%=preview2.ClientID%>");
        var objPreviewFake = document.getElementById('preview_fake2' );
        var objPreviewSizeFake = document.getElementById('preview_size_fake2' );
        if( sender.files &&sender.files[0] ){
          objPreview.style.display ='block';
          objPreview.style.width ='auto';
          objPreview.style.height ='auto';
        
          // Firefox 因安全性问题已无法直接通过input[file].value
          objPreview.src =sender.files[0].getAsDataURL();
    }else if( objPreviewFake.filters)
    {
      // IE7,IE8 在设置本地图片地址为 img.src 时出现莫名其妙的后果
      //(相同环境有时能显示,有时不显示),因此只能用滤镜来解决
    
      // IE7, IE8因安全性问题已无法直接通过 input[file].value 获取完整的文件路径
      sender.select();
      var imgSrc =document.selection.createRange().text;
      objPreviewFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src= imgSrc;
      objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src= imgSrc;
      autoSizePreview( objPreviewFake,sender.offsetWidth,sender.offsetHeight );
      objPreview.style.display ='none';
    }
    }

    function autoSizePreview( objPre, originalWidth, originalHeight){
        var zoomParam = clacImgZoomParam(350, 205, 550,550);
        objPre.style.width = zoomParam.width +'px';
        objPre.style.height = zoomParam.height +'px';
        objPre.style.marginTop = zoomParam.top +'px';
        objPre.style.marginLeft = zoomParam.left + 'px';
    }
   
    function clacImgZoomParam( maxWidth, maxHeight, width, height ){
        var param = { width:width, height:height, top:0, left:0 };
      
        if(width>maxWidth || height>maxHeight ){
         rateWidth = width /maxWidth;
        rateHeight = height /maxHeight;
     
          if( rateWidth > rateHeight){
          param.width =maxWidth;
          param.height = height /rateWidth;
          }else{
          param.width = width /rateHeight;
          param.height =maxHeight;
          }
        }
        param.left = (maxWidth - param.width) / 2;
        param.top = (maxHeight - param.height) /2;
     
        return param;
    }
  
    function GetfileValue2(sender){
        if( !sender.value.match(/.jpg|.gif|.png|.bmp/i)){
          alert('图片格式无效!');
          return false;
        }       
        //判断浏览器类型
        var isIE = (document.all) ? true : false;
        var isIE7 = isIE && (navigator.userAgent.indexOf('MSIE 7.0') != -1);
        var isIE8 = isIE && (navigator.userAgent.indexOf('MSIE 8.0') != -1);
        var isIE6 = isIE && (navigator.userAgent.indexOf('MSIE 6.0') != -1);       
       
        var file=document.getElementById("FileUploadSamplePoint");
         if(isIE8){
            onUploadChange(sender);
        }else if(isIE7)
        {
            file.select();
            var path=document.selection.createRange().text;
            document.selection.empty();
            document.getElementById("<%=preview2.ClientID%>").src=path;             
        }else if(isIE6){         
            document.getElementById("<%=preview2.ClientID%>").src=document.getElementById("FileUploadSamplePoint").value;
        }else{   //火狐
            try {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert('请更改浏览器设置');
                return;
            }

            var fname = document.getElementById("FileUploadSamplePoint").value;
            var file = Components.classes["@mozilla.org/file/local;1"]
                .createInstance(Components.interfaces.nsILocalFile);
            try {
                // Back slashes for windows
                file.initWithPath( fname.replace(/\//g, "\\\\") );
            }
            catch(e) {
                if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
                alert('无法加载文件');
                return;
            }
             // alert(file.path); //取得文件路径
             document.getElementById("<%=preview2.ClientID%>").src=file.path;
         }
    }

 

 

css

 <style type="text/css">
        /*Img--2*/
        #preview_wrapper2
        {
            display: inline-block;
            width: 250px;
            height: 250px;
        }
        #preview_fake2
        {
            /* 该对象用于在IE下显示预览图片
    */
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
        }
        #preview_size_fake2
        {
            /* 该对象只用来在IE下获得图片的原始尺寸,无其它用途
    */
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
            visibility: hidden;
        }
        #preview2
        {
            /* 该对象用于在FF下显示预览图片
    */
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
            visibility: hidden;
        }
    </style>

 

显示: <div id="preview_wrapper2" style="padding-top:20px;">
                    <div id="preview_fake2">
                        <span>
                            <img id="preview2" alt="" runat="server" />
                            <img id="preview_size_fake2" />
                        </span>
                    </div>
                </div>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值