Jfinal接收超长base64参数问题

前台做了个图片合并,然后用base64字符串Ajax提交到后台,进入方法,前面都很快,方法走完了,图片也保存了,这时候控制台打印了一下传入的参数,然后卡了很久,控制台打印了很长的- - - - - - - -  - - - - - - - - - - -这时候前台才收到了返回的数据,感觉jfinal 在我的方法结束后是不是还干了啥,这种情况我该咋办,后来我把方法全部清空也是这种情况,jfinal版本是2.1,我是不是要升级


评论区

拉不了屎了

2020-07-26 14:42

或者我后台合并??

JFinal

2020-07-26 15:05

这个是因为 jfinal 的 devMode = true 时,会向控制台输出请求参数,而你的 base64 这个参数很长,System.out.print(...) 输出很耗时,所以才出现你碰到的情况

解决办法:
1:关闭 devMode, 配置一下 me.setDevMode(false); 即可

2:高版本的 jfinal 限定了参数打印的长度,可以升级到高版本,在这里可以看到参数限定输出长度:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/core/ActionReporter.java

拉不了屎了

2020-07-26 15:16

十分感谢波总,我试了一下,关闭devMode可行,我在我方法最后手动把这个参数移除了getRequest().removeAttribute("fileUrl");也可以,十分的感谢波总,jfinal是个好框架!支持!!!!

拉不了屎了

2020-07-26 15:18

困扰了我一整天的问题,波总轻轻松松的就给解惑了。膜拜大神

JFinal

2020-07-26 15:52

@拉不了屎了 移除 fileUrl 是个好办法,赞

JFinal

2020-07-26 15:53

@拉不了屎了 你用的 jfinal 版本是好几年前的了,现在的新版本比老版本好用得多,升级也很方便,这里有专门的升级文档:
https://jfinal.com/doc/14-1

拉不了屎了

2020-07-27 09:36

好的,新项目里面准备用新版本,感谢波总

热门反馈

扫码入社