gdf84 发表于 2013-2-6 10:15:59

Struts实现多文件上传

jsp文件<%@ page language="java" pageEncoding="gbk"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %><%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %><%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %><html:html lang="true"><head>    <title>addfile.jsp</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><SCRIPT LANGUAGE="JavaScript">      <!--       var n = 1;         function add(){         if(n>5){      alert("不能在加了");      return;      }                var otable = document.getElementById("tablee");                   var orow=otable.insertRow();                  var ocol2 = orow.insertCell();                  var ocol3 = orow.insertCell();                  var ocol4 = orow.insertCell();                  ocol2.innerHTML ="<input type=file name=files+"+n+">";                   ocol3.innerHTML ="<input type='button' value='添加' onClick='add()' />";                   ocol4.innerHTML ="<input type='button' value='删除' onClick='javascript:deleteRow();return false;' />";                   n++;                              }             function deleteRow(){         if(n<=1){      alert("不能在删了");      return;      }            var otable = document.getElementById("tablee");         //var rowIndex = event.srcElement.parentElement.parentElement.parentElement.rowIndex;         var rowIndex =event.srcElement.parentElement.parentElement.rowIndex         /*         event 事件       srcElementbutton   parentElement 上1层td   parentElement 上1层tr   rowIndex tr的rowIndex            */               otable.deleteRow(rowIndex);            n--;         }       //-->      </SCRIPT>       </head>    <body><html:form action="/file.do?method=add" enctype="multipart/form-data">      <table id="tablee">          <tr>            <td>文件上传</td>            <td> 添加</td>            <td> 删除</td>          </tr>         <tr>            <td> <input type="file" name="files"> </td>            <td>            <input type="button" value="添加"/>            </td>             <td>            <input type="button" value="删除"/>             </td>         </tr>            </table>      <html:submit></html:submit></html:form></body></html:html>action 
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.hcwy.struts.action;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Hashtable;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import org.apache.struts.upload.FormFile;import com.hcwy.struts.form.FileForm;/*** MyEclipse Struts * Creation date: 05-09-2008 ** XDoclet definition: * @struts.action path="/file" name="fileForm" input="/form/file.jsp" parameter="method" scope="request" validate="true" */public class FileAction extends DispatchAction {private static long uuidCount = 0;public ActionForward add(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {FileForm fileForm = (FileForm) form;int i=0;Hashtable files = fileForm.getMultipartRequestHandler().getFileElements();for(Map.Entry<String,FormFile> entry : (Set<Map.Entry<String,FormFile>>)(files.entrySet())) {FormFile ff=entry.getValue();up(ff);i++;}System.out.println(i);return null;}//保存public static void up(FormFile ff){String dir1=getUUid();// + "."+ (ff.getFileName().split("\\."));String dir ="C:/upload"+"/"+dir1;try {OutputStream out = new FileOutputStream(new File(dir));byte b[] = ff.getFileData();out.write(b);out.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}//UUIDpublic static String getUUid() {uuidCount++;long time = System.currentTimeMillis();String tmpStr="0000"+Long.toHexString(uuidCount);String uuid = Long.toHexString(time) + tmpStr.substring(tmpStr.length()-4)+ Long.toHexString(Double.doubleToLongBits(Math.random()));uuid = uuid.substring(0, 24).toUpperCase();return uuid; }} 
页: [1]
查看完整版本: Struts实现多文件上传