Struts1.2实现动态多文件(不定个数)上传
Struts1.2依然是应用很广的框架,实现动态多文件(不定个数)上传请先看下面的代码
关键代码
< SCRIPT language=javascript type=text/javascript > function createElement(tagName, type, name) { var element = null; try { element = document.createElement('<' + tagName + ' name="'+name+'" size=30 onchange="add();"/>'); element.type = type; element.value = value; } catch (e) { } if ( ! element) { element = document.createElement(tagName); element.setAttribute("type", type); } return element; } // 动态创建表单控件的方法 var i = 1; function add() { // 动态创建控件名称 var name = "attachment" + i; var input1 = createElement("input", "file", name); var br = document.createElement(" "); var files = document.getElementById("files"); files.appendChild(br); files.appendChild(input1); i ++ ; } < /SCRIPT> < DIV id=files> < INPUT onchange=add(); alt=选择后即可动态添加文件域 size=30 type=file name=attachment0> < INPUT onclick=add(); value=多个附件 alt=手动添加文件域 type=button > 支持的文件类型(.rar,.zip,.txt,.sql,.ini,.jpg,.bmp,.gif) |
Action中的关键代码:
FormFile[] formFile = null; // 得到所有的文件请求元素 Hashtable files = bbsForm.getMultipartRequestHandler() .getFileElements(); if (files != null && files.size() > 0) { // 初始化FormFile formFile = new FormFile[files.size()]; // 得到files的keys Enumeration enums = files.keys(); String fileKey = null; int i = 0; // 遍历枚举 while (enums.hasMoreElements()) { // 取得key fileKey = (String) (enums.nextElement()); System.out.println("key:" + fileKey); // 初始化每一个FormFile(接口) formFile[i] = (FormFile) files.get(fileKey); // 分别上传 upload(formFile[i], request, bbs); i++; } } |
upload方法:
这样就实现的动态的多文件上传.关键还是
相关推荐
wikiwater 2020-10-27
IdeaElements 2020-08-19
Sophiego 2020-08-16
Kakoola 2020-08-01
Kakoola 2020-07-29
ELEMENTS爱乐冬雨 2020-07-18
ELEMENTS爱乐小超 2020-07-04
ELEMENTS爱乐小超 2020-07-04
Kakoola 2020-06-28
Feastaw 2020-06-18
Wmeng0 2020-06-14
ELEMENTS爱乐冬雨 2020-06-14
云之高水之远 2020-06-14
哈喽elements 2020-06-14
Feastaw 2020-06-11