图片过大时,base64图片后台接受不到

原创 motu_1991 随笔 js相关脚本 300阅读 2018-05-30 15:35:50 举报

上传头像时,当图像过大时,base64图片后来接受到的值都是null,查了一下,也有好多遇到相同问题的,原来是应用服务器的问题 tomcat原来是在默认的时候有限制post请求字符的长度那就是1024*2即2M不能超过2M,超过就会出现问题
解决办法如下:
通过修改tomcat下面的conf目录下的server.xml
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8000" protocol="HTTP/1.1" redirectPort="8443" maxHttpHeaderSize="10485760"/>
并在此代码里面加上属性 maxPostSize="0" 0表示不限制post请求长度

也可以在上传图片时及时对图片的大小进行限制提醒:
<form action="后端接口" enctype="multipart/form-data" method="post" id="attachment_uploads">
<div class="attachs fl">
<div class="upload_btns"><input type="file" name="files" id="file_fujian" onchange="filefujianChange(this);" /> <input type="hidden" name="rev" class="hide_rev" /></div>
</div>
</form>
function filefujianChange(target) {

   var fileSize = 0;  //字节     
   if (isIE && !target.files) {     
     var filePath = target.value;     
     var fileSystem = new ActiveXObject("Scripting.FileSystemObject");        
     var file = fileSystem.GetFile (filePath);     
     fileSize = file.Size;    
   }
   else {    
    fileSize = target.files[0].size;     
    }   

    var size = fileSize / 1024;  //kB
    var sizeM = size/1024;  //M 
    if(sizeM>2){  
     alert("附件不能大于2M");
     target.value="";
     return
    }
    var name=target.value;
    var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
    if(fileName !="jpg" && fileName !="jpeg" && fileName !="pdf" && fileName !="png" && fileName !="dwg" && fileName !="gif" ){
      alert("请选择图片格式文件上传(jpg,png,gif,dwg,pdf,gif等)!");
        target.value="";
        return
    }
  }
评论 ( 1 )
最新评论
回头看海 2018-09-20 18:37:42 1F

element-ui upload上传图片有没有文章借鉴下