JAVA按顺序混合上传多文件和文本域
程序员文章站
2022-05-26 16:14:39
...
需求:将多个文件按照不确定的顺序与文本域组合上传,后台保存界面最终提交的表单元素顺序。
比如:第一个文件,第二个文件,第三个输入框,第四个文件,第五个输入框。如果文件类型为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:
上一篇: 我想拉屎
下一篇: oracle 分组后取每组第一条数据
推荐阅读