欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-26 16:14:39
...

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:

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



相关标签: 代码