记录使用jFinal之上传文件的坑

        最近,接手了一个老程序需要增加新的功能,拿到需求文档之后粗略的看了一下,没有什么难点,就是使用的是自己没用过的jFinal框架,没办法,一点点弄吧。其中,有一个上传视频的功能,我将之前正常的上传文件代码贴了过去,本以为大功告成,可没想到事情却并没有自己想象的顺利。

        写完代码之后,我拿自己手机里的一个视频进行了测试,结果为成功,但就是没在意视频大小仅为5M多,所以项目一到测试手里,尝试上传了一个50M大小的视频时,就出现上传失败的提示。

        一开始我感到费解,自己明明测试了几遍,都可以上传成功,这个时候就陷入自己的思维误区,后来我也尝试上传100M的视频,果不其然也失败了。

        下面就该找原因了,先看后台代码,打断点调试,发现程序在走到下面代码时出现如下错误


文件大小超出限制

        谷歌浏览器控制台也报错


        找到错误之后,就开始改bug吧,中间几经坎坷波折,我就不一 一细说了,反正都是泪,因为我可以确定的是程序本身并没有什么问题,拿问题到底是出在哪呢?最后通过在查阅文档之后发现,jFinal框架默认上传文件大小最大为10M!

        找到原因之后,事情就明朗多了,解决办法如下:

        找到项目继承了JFinalConfig类的配置类,并找到 configConstant(Constants me) 方法,在方法中添加一条语句,

me.setMaxPostSize(文件大小*Const.DEFAULT_MAX_POST_SIZE),这里的文件大小单位为M,如:

   

我这里设置为上传文件大小最大为500M

        然后再次测试


        上传成功!

        仅以此文章记录使用JFinal做上传文件遇到的坑,希望对遇到同样问题的朋友有所帮助,第一次写记录文章,不喜勿喷,谢谢!

你可能感兴趣的:(记录使用jFinal之上传文件的坑)