JAVA按顺序混合上传多文件和文本域

需求:将多个文件按照不确定的顺序与文本域组合上传,后台保存界面最终提交的表单元素顺序。

比如:第一个文件,第二个文件,第三个输入框,第四个文件,第五个输入框。如果文件类型为0,文本框类型为1,那么此组合顺序sortType为00101.

思路:后台可以分别拿到文件数组File[] files,和输入框数组String[] texts,迭代文件数组,对每一个处理以下逻辑:

    private static String searchAllIndex(String key,String str) {
		String position = "";
                int a = str.indexOf(key);//*第一个出现的索引位置
                while (a != -1) {
                    logger.info(a + "\t");
                    position += a;
                    a = str.indexOf(key, a + 1);//*从这个索引往后开始第一个出现的位置
                }
                return position;
	}
String filePositions = searchAllIndex("0",  sortType);//获得文件所在sortType字符串中的位置
for (int i = 0; i<fileSize; i++) {//迭代文件数组

迭代文件数组,找到每一个文件的位置,放到预先定义的fileNames[]数组中,这个数组规定了文件和输入框的前端界面位置。

                               String fileName = template_name_fileFileNames[i];
				if(StringUtils.isNotEmpty(filePositions)){
					String pos = filePositions.charAt(i) + "";
					fileNames[Integer.parseInt(pos)] = fileName;
				}

然后迭代输入框数组,找到每一个输入框的位置,放到预先定义的fileNames[]数组中,最终的结果是这个数组刚好被填充完全,与提交表但时候的界面元素顺序一致。

保存到DB:




猜你喜欢

转载自blog.csdn.net/shengqianfeng/article/details/80358060