数据参数获取问题
JFinal官方文档给出以下声明:
如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),
那么必须先调用getFile系列方法才能使getPara系列方法正常工作,
因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。
同样的道理在Interceptor、Validator中也需要先调用getFile。
多图片上传时,只接收到一个uploadFile对象问题
前台代码
<input id="imgId" name="imgName" type="file" multiple="multiple" >
注意:form标签要加上method="post" enctype="multipart/form-data"
后台代码
List<UploadFile> list = getFiles(path);
问题
前台上传五张图片,path路径下已保存上传的五张图片,但是list列表里只有一个UploadFile对象
原因
MultipartRequest这个类的的271行代码:
因为input的标签name = imgName,每次name都一样,往files里put的时候都会覆盖。
解决方法
JFinal实现文件上传基于cos-26Dec2008.jar,可以反编译修改jar包里MultipartRequest代码。但是maven给出了该jar包的新版本cos-2017.5.jar,新版本里无此问题。