欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图片预览自适应

程序员文章站 2022-03-29 19:26:08
...

一、表单单图片上传

 <form action="#" class="form-horizontal tasi-form" id="formpic" enctype="multipart/form-data">
                        

        <div  style="width:400px;height: 400px; position: relative;overflow: hidden;margin-right:20px;padding: 0;border:1px solid #CCCCCC;text-align:center;vertical-align:middle;line-height: 400px">
   
        <img src="" alt=""  class="img-thumbnail" id="show_img" style="vertical-align:middle;" onload="resizeimg(this,400,400);">

         <input type="file" name="file" id="oFile"  style=" position:absolute;top:0;left:0;width: 100%; height: 100%; cursor: pointer; opacity: 0;"/>
              </div>
                         
          
                               
                           
 </form>
 
  

  <script>
  function resizeimg(obj,maxW,maxH)
  {
           var imgW=obj.width;
           var imgH=obj.height;

           if(imgW>maxW||imgH>maxH)
           {       
                    var ratioA=imgW/maxW;
                    var ratioB=imgH/maxH;               
                    if(ratioA>ratioB)
                    {
                             imgH=maxW*(imgH/imgW);
                             imgW=maxW;
           
                    }
                    else
                    {
                             imgW=maxH*(imgW/imgH);
                             imgH=maxH;

                    }  
                    obj.width=imgW;
                    obj.height=imgH;
           }

       
  }
  $(function(){
 
    $("#oFile").change(function(){
        var fileObj = this.files[0] ; 
        var reader = new FileReader();
          reader.readAsDataURL(fileObj);
          reader.onload = function(f) {
            var show_img = $("#show_img");
        
            show_img.removeAttr('width');
            show_img.removeAttr('height');
            show_img.attr("src", this.result);

          }

        $.ajax({
          url: ,
          type: 'POST',
          cache: false,
          data: new FormData($('#formpic')[0]),
          dataType: 'json',
          processData: false,
          contentType: false,
          success:function(data){
              console.og(data);
              
            },
          error:function(error){
              
          }
        });
    });

二、多图片

$("#compare").click(function(){
     var form = new FormData();
     form.append('file_img[]', document.getElementById('oFile').files[0]);
     form.append('file_img[]', document.getElementById('oFile1').files[0]);
     if(window.XMLHttpRequest){
           var xhr=new XMLHttpRequest();
     }else{
           var xhr=new ActiveXObject('Microsoft.XMLHTTP');
     }
     xhr.open('POST', "<?= Url::to(['face/upload']) ?>",true);
     xhr.send(form);
     xhr.onreadystatechange = function () {
         if (xhr.readyState == 4){
              if (xhr.status>=200 && xhr.status<300 || xhr.status==304) {
                               console.log('发送'); //仅示例
                               var data = JSON.parse(xhr.responseText);
    
                  }
           }
    };
   });