Jfinal上传文件的系列方法getFile的问题

目前Jfinal上传文件的系列方法getFile都是调用getFiles方法,不管什么情况,都是先把文件上传到服务器。

如果上传文件的业务处理中,需要对文件进行过滤,当不符合条件时阻止上传某文件时,Jfinal就不能满足这一业务处理啦。就只能先让文件上传再去删除啦,这显然浪费了服务端的带宽。

如果Jfinal中对这种问题有其他解决方案,请告知下,谢谢!

评论区

汉代风云

2016-07-21 13:52

还有,目前JFinal只能全局设置上传文件最大值,当有多场景需要设置不同的上传文件最大值时无法满足

JFinal

2016-07-21 20:44

可以在 getFile(...) 时传入参数来指定上传文件最大值,指定的值可以覆盖全局配置的值。对于文件过滤建议在前端用 js 过滤一下, jfinal 解析上传文件时利用的是第三方的 cos处理的,所以没法干预这个过程, cos 应该也没有提供过滤的功能。 其它方法,你可以试试在 controller 中通过 getRequest() 得到 HttpServletRequest 对象,然后利用第三方支持过滤的文件上传组件来做,记得搞定后来分享频道分享出来哈

汉代风云

2016-07-21 21:11

@JFinal 好的,多谢波总解答!

a186chen

2018-09-07 18:01

getFile(String parameterName, String uploadPath, Integer maxPostSize, String encoding) 这几个参数都是什么意思,尤其第一个

JFinal

2018-09-08 20:36

@a186chen 页面 form 表单 < input type="file" name="parameterName" / >

上面的 name 中的那个就是了

JFinal

2018-09-08 20:38

@a186chen 页面 form 表单 < input type="file" name="parameterName" / >

上面的 name 中的那个就是 parameterName

maxPostSize 是限定本次请求提交内容的长度,该长度包含了上传文件的大小

encoding 是字符集

a186chen

2018-09-10 09:39

@JFinal uploadPath这个参数呢,我只是想单独限制某个方法中上传文件的大小,路径还是使用默认的。

热门反馈

扫码入社