用Struts实现多文件上传(文件个数不定可动态增减)
来源:互联网 发布:诺诺 知乎 编辑:程序博客网 时间:2024/05/01 21:49
upload.jsp是这样子的>>>
<html:form action="/upload" enctype="multipart/form-data">
<html:text property="title"/><br>
<input type="file" name="testFile(0)"/><br> (可在此增加上传个数)
<input type="file" name="testFile(1)"/><br>
<html:submit value="upload"/>
</html:form>
UploadForm.java
import java.util.ArrayList;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadForm extends ActionForm {
private String title;
private ArrayList formFiles = new ArrayList();
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public void setTestFile(String iIndex, FormFile formFile) { this.formFiles.add(formFile); }
public FormFile getTestFile(String iIndex) { return (FormFile) formFiles.get(Integer.parseInt(iIndex)); }
public ArrayList getTestFiles() { return this.formFiles; }
}
UploadAtionAction.java
import java.io.FileOutputStream;
import java.io.InputStream;import java.io.OutputStream;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import com.yourcompany.struts.form.UploadForm;
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String name=null;
String path = null;
FormFile file;
ArrayList list= new ArrayList();
UploadForm uploadForm = (UploadForm) form; list = uploadForm.getTestFiles();
// FormFile file= uploadForm.getTestFile("0");
// name = file.getFileName();
path=servlet.getServletContext().getRealPath("/upload"); //
String realPath=path+"/"+fname;
try{
for(int j=0; j < list.size();j++){
file= uploadForm.getTestFile(String.valueOf(j));
name = file.getFileName();
if(name != null && !"".equals(name)){
InputStream streamin=file.getInputStream();
OutputStream streamout=new FileOutputStream(path+"/"+name);
byte[] buff=new byte[8192];
int i=0;
while((i=streamin.read(buff,0,8192))>0){
streamout.write(buff, 0, i);
}
streamin.close();
streamout.flush();
streamout.close();
file.destroy(); } }
}catch(Exception e){
e.printStackTrace();
} return null; }
}
至于怎么动态增加或删除上传文件个数,这里就不详讲了,CSDN的博客怎么东西一贴上去,格式就全不见了,所有文字都缩在一起了,好辛苦啊还得手动排版.忍不住,对着屏幕伸出了邪恶的中指...
- 用Struts实现多文件上传(文件个数不定可动态增减)
- Struts1.2实现动态多文件(不定个数)上传
- 如果用struts实现动态(不定数量)多文件上传?
- 用Struts实现动态(不定数量)多个文件上传
- 如何用Struts实现动态(不定数量)多个文件上传
- 如何用Struts实现动态(不定数量)多个文件上传?
- Struts上传不定数量(动态)文件的问题
- 用Struts实现动态多文件上传功能
- struts 动态多文件上传
- struts实现多文件上传
- Struts实现多文件上传
- 用Struts实现文件上传
- struts--实现上传文件
- struts 实现文件上传
- struts 实现文件上传
- struts实现文件上传
- struts实现文件上传
- Struts实现文件上传。
- RM9200中flash文件系统的移植
- 堆和栈的区别
- 重新整理
- 转载 精妙sql
- QQ游戏百万人同时在线服务器架构实现
- 用Struts实现多文件上传(文件个数不定可动态增减)
- 夏天,剧烈运动后切忌五个不宜
- 杭州建无线宽带城域网 市内随时随地无线上网
- .Net环境下基于Ajax的MVC方案
- FireFox 中对事件event的兼容扩展。
- 一步一步教你网站同步镜像
- 童年无忌
- pe文件格式详解(下)
- java编码