@jfinal 早 关于getfiles批量上传附件的顺序问题

就看看 发布于 2015/01/24 10:54
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:

我在用

getFiles()批量上传图片的时候,我想问一下 


List<UploadFile> files=getFiles();

这个list中的顺序是按照表单中 <input type='file'> 标签 自上而下获得的么还是以什么样的顺序?

我在使用过程中有时候顺序会有些错乱,比如:

比如<input type='file' name='1'>
<input type='file' name='2'>

<input type='file' name='3'>

我想按顺序接收为 files.get(0)是1的附件,files.get(1)是2的附件....

但目前的情况顺序是错乱的,有可能321,有可能213,怎么回事呢,如何解决呢?

加载中
1
JFinal
JFinal

      直接指定 input 的 name 属性的名称就好,例如,你想获取 <input type="file" name="file_2" />  这个表单域上传的文件,直接  getFile("file_2") 即可,可以不使用 getFiles()。

    至于使用 getFiles() 后文件的顺序,应该是按照 input 域在表单中的次序来的,注意表单中的 input 的 name 不要使用 1、2、3 这种数字,使用  file_1、file_2 就好,问题应该就可以解决。

0
就看看
就看看

多谢 我按照第一种方式 getFile()方法解决了

之前我是用getFiles()的时候, input 的name属性都是英文字母, 后来换了字母加数字也还是错乱,

再后来换了中英数字结合也不行 囧。 不明所以,我看源码好像也没对表单做什么操作,按说就应该按顺序来的啊,不明所以。

0
智者乐水
智者乐水
@JFinal ,你这样子回答就显得很不专业了撒,框架是你们开发的,你们不能用应该的字眼吧。批量上传getFiles()方法是很有必要使用的,当一次提交很多文件或者图片,你总不能让开发人员给每个文件都getFile()一个参数吧,这样代码就显得很臃肿了嘛。还有用file_1的命名是不行的,还是不会按照顺序的。请问还有其他的解决方案吗?
0
J
Joden_He
我也遇到这个问题,getFiles()可以将所有的文件上传但是获取不了文件的信息,getFiles().size()后只显示了1,并不能显示多个的文件,我前端才有的是<input type="file" name="uploadfile" id="uploadfile" multiple="multiple">,使用不了一个个input在开发中多次使用input标签影响用户体验,有没有什么其他解决方法啊!
返回顶部
顶部