附件地址:<input type="file" name="attach(0)" size="41"><a href="#" onclick="add()" ><font color="blue">追加附件
来添加附件。
var k=1;
function add(){
var tab = document.getElementById("table1").insertRow(11);
var col1 = tab.insertCell(0);
col1.innerHTML="<input type='file' name='attach("+k+")'size='41'/><a href='javascript:del();'>删除</a>";
k++;
}
我添加了多个,只能上传一个,上传的是name="attach(0)" 的这个。别的都不能上传。debug看了下ActionForm中MultipartRequestHandler里的elementsFile里只有一个{attach(0)=EPSnap.ini} 这是为什么呢
来添加附件。
var k=1;
function add(){
var tab = document.getElementById("table1").insertRow(11);
var col1 = tab.insertCell(0);
col1.innerHTML="<input type='file' name='attach("+k+")'size='41'/><a href='javascript:del();'>删除</a>";
k++;
}
我添加了多个,只能上传一个,上传的是name="attach(0)" 的这个。别的都不能上传。debug看了下ActionForm中MultipartRequestHandler里的elementsFile里只有一个{attach(0)=EPSnap.ini} 这是为什么呢
解决方案 »
- 求指教:tomcat启动报错:Error listenerStart
- SSH问题,哪位大神帮忙看看撒!急急急急急
- 关于resultset的一个小问题
- 从控制台打印出来的日志看,为什么applicationContext初始化了两遍?spring和struts集成相关
- 欢迎哥们儿来E社会甩砖
- EJB2.1和EJB3 能不能放在一起工作?
- 写了个加载图标的文件,可是怎么也显示不出图标出来,请高手指点一下,谢谢
- ActionForm bean中的reset()方法是干什么用的?
- tomcat怎样把网站根目录ROOT移到其他目录里,怎么配置
- 请教重启应用服务器与classloader的关系?
- 两个问题,如何:tomcat的url不区分大小写,MyEclipse调试时查看临时表示式的值
- MySql自动增长字段
《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("《br /》"); var files = document.getElementById("files"); files.appendChild(br); files.appendChild(input1); i ++ ;}《/script》《!--************************ 附件************************--》《div id="files"》《input type="file" size="30" name="attachment0" onchange="add();" alt="选择后即可动态添加文件域"/》《input type="button" onclick="add();" value="多个附件" alt="手动添加文件域"/》 《font color=green》《a alt="不支持的文件类型将会被直接过滤掉"》支持的文件类型(.rar,.zip,.txt,.sql,.ini,.jpg,.bmp,.gif)《/a》《/font》《/div》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方法:/** * 文件上传的方法 * * @param file * @param request * @param bbs */ public void upload(FormFile file, HttpServletRequest request, Bbs bbs) { //只有选择了文件时才上传 if ("".equals(file.getFileName()) || null == file.getFileName()) { return ; } // 得到当前网站的绝对路径 String path = this.getServlet().getServletContext().getRealPath("/"); FileOutputStream fileOutput; try { // 文件操作 fileOutput = new FileOutputStream(path + "main/upload/" + file.getFileName()); fileOutput.write(file.getFileData()); fileOutput.flush(); fileOutput.close(); log.info("BbsAction:附件上传成功"); } catch (FileNotFoundException e) { log.info("BbsAction:找不到文件"); } catch (IOException e) { log.info("BbsAction:文件IO异常"); } // 数据库操作 Fileupload fileupload = new Fileupload(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/"; fileupload.setFilename(basePath + "/main/upload/" + file.getFileName()); // 得到文件的扩展名 int point = file.getFileName().lastIndexOf("."); String ext = file.getFileName().substring(point + 1); //扩展名处理 if ("jpg".equals(ext.toLowerCase()) || "bmp".equals(ext.toLowerCase()) || "gif".equals(ext.toLowerCase())) { ext = "img"; } if ("rar".equals(ext.toLowerCase()) || "zip".equals(ext.toLowerCase()) || "jar".equals(ext.toLowerCase())) { ext = "rar"; } if("txt".equals(ext.toLowerCase()) || "sql".equals(ext.toLowerCase()) || "ini".equals(ext.toLowerCase())) { ext = "txt"; } fileupload.setFileext(ext); fileupload.setFilesize(file.getFileSize()); fileupload.setUptime(new Date()); fileupload.setDowncount(0); fileupload.setUpuser(((User) request.getSession().getAttribute("user")) .getUserName()); fileupload.setFlag((short) 0); fileupload.setAnnounceId(bbs.getAnnounceId()); fileupload.setName(file.getFileName()); fileuploadManager.save(fileupload); log.info("BbsAction:附件信息已经成功保存到数据库"); }