zoukankan      html  css  js  c++  java
  • input 单图上传

    html

      <input type="file" name="identity_card_front" onchange="previewImage(this,0)" style="display: none;">

    js

      function previewImage(file){

    //判断上传图片的格式及大小start
    photoExt=file.value.substr(file.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名
    console.log(photoExt)
    if(photoExt != '.jpg' && photoExt !='.jpeg' && photoExt!= '.png'){
    alertShow("请上传正确格式的照片!");
    return;
    }
    var fileSize = 0;
    var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
    if (isIE && !file.files) {
    var filePath = obj.value;
    var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
    var file = fileSystem.GetFile (filePath);
    fileSize = file.Size;
    }else {
    fileSize = file.files[0].size;
    }
    fileSize=Math.round(fileSize/1024*100)/100; //单位为KB
    if(fileSize>=2048){
    alertShow("照片最大尺寸为2M,请重新上传!");
    return false;
    }
    //判断上传图片的格式及大小end

    var div = file.previousSibling.previousSibling;//img元素外box元素

    if (file.files && file.files[0]){
    var name ;//文件名称

    div.innerHTML ='<img>';//图片上传完后不可再次点击
    var img = div.firstChild;//此为img元素
    img.onload = function(){//图片下载完毕时
       //自定的最大高、宽 和 原图的宽高
       var rect = definedSize(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
              img.width = rect.width;
         img.height = rect.height;
         img.style.marginTop = rect.top+10+'px';
    }

    var data=new FormData();

    data.append('file',file.files[0]);
    data.append('username',name);
    data.append('type',papersType)

    $.ajax({
    type:'post',
    url:rootPath+'   ',
    dataType:'json',
    contentType: false,
    processData: false,
    data:data,
    success:function(res){
    img.src =  res.data.imageUrl

    }
    })
    }

      }

    //重置图片大小
    function definedSize( maxWidth, maxHeight, width, height ){
    var param = {top:0, left:0, width, height:height};
    if( width>maxWidth || height>maxHeight ){//如果宽高大于最大宽高
    rateWidth = width / maxWidth;//宽了几倍
    rateHeight = height / maxHeight;//高了几倍

    if( rateWidth > rateHeight ){
    param.width = maxWidth;
    param.height = Math.round(height / rateWidth);
    }else{
    param.width = Math.round(width / rateHeight);
    param.height = maxHeight;
    }
    }
    param.left = Math.round((maxWidth - param.width) / 2);
    param.top = Math.round((maxHeight - param.height) / 2);
    return param;
    }

  • 相关阅读:
    吉林大学2020年数学分析考研试题参考解答
    华中科技大学2020年数学分析考研试题参考解答
    华南理工大学2020年数学分析考研试题参考解答
    华南理工大学2020年高等代数考研试题参考解答
    华东师范大学2020年数学分析考研试题参考解答
    华东师范大学2020年高等代数考研试题参考解答
    华东师范大学2020年高等代数考研试题部分参考解答
    湖南大学2020年数学分析考研试题参考解答
    哈尔滨工业大学2020年数学分析考研试题参考解答
    哈尔滨工业大学2020年高等代数考研试题参考解答
  • 原文地址:https://www.cnblogs.com/adolfvicto/p/7152059.html
Copyright © 2011-2022 走看看