需要做成类似QQ空间上传照片的效果(有一个列表(textarea域)存放我已选的文件)

解决方案 »

  1.   

    public class UploadMoreAction extends ActionSupport {

    private List<File> upload;
    private List<String> uploadFileName;
    private List<String> uploadContentType;

    public List<File> getUpload() {
    return upload;
    } public void setUpload(List<File> upload) {
    this.upload = upload;
    } public List<String> getUploadFileName() {
    return uploadFileName;
    } public void setUploadFileName(List<String> uploadFileName) {
    this.uploadFileName = uploadFileName;
    } public List<String> getUploadContentType() {
    return uploadContentType;
    } public void setUploadContentType(List<String> uploadContentType) {
    this.uploadContentType = uploadContentType;
    } @Override
    public String execute() throws Exception {
    for(int i = 0;i < upload.size();i++){
    upload(i);
    }
    return Action.SUCCESS;
    }

    public void upload(int i) throws Exception{
    InputStream input = new FileInputStream(upload.get(i)); //创建一个输入流对象
    OutputStream output = new FileOutputStream("g:\\upload\\" + uploadFileName.get(i)); //创建一个输出流对象
    byte buffer[] = new byte[1024]; //创建一个字节数组
    int count = 0;
    while((count = input.read(buffer)) > 0){
    output.write(buffer, 0, count); //将buffer数组中从0开始的count个字节写入此输出流
    }
    }
    }
      

  2.   

    struts.xml文件中这样写
            <action name="uploadmore" class="com.eileen.upload.Test">
             <result>/success.jsp</result>
            </action>
      

  3.   

    可以使用js动态生成<input type="file" name="">,或页面手动添加,然后循环上传每一个文件
      

  4.   

    用jQuery的upload插件,可以完成多文件上传!
      

  5.   


    额  谢谢  我想知道你怎么从前台传一个List<File>过去呢?
      

  6.   

    楼主所说的是前台技术 跟struts2 好像 没多大关系
      

  7.   

    struts2的话用fileuplpad组件吧...至于LZ所问的LIST如何获得就是从页面上多个<input type="file">来的...
      

  8.   

    使用数组来接 list<File> 或File[]..
      

  9.   

    要想实现真正的多文件上传或是目录上传等什么的,就要用到applet了
      

  10.   

    与单文件上传相似,Struts 2实现多文件上传也很简单。你可以将多个<s:file />绑定Action的数组或列表。< s:form action ="doMultipleUploadUsingList" method ="POST" enctype ="multipart/form-data" > 
        < s:file label ="File (1)" name ="upload" /> 
        < s:file label ="File (2)" name ="upload" /> 
        < s:file label ="FIle (3)" name ="upload" /> 
        < s:submit /> 
    </ s:form > private File[] uploads;
        private String[] uploadFileNames;
        private String[] uploadContentTypes;    public File[] getUpload() { return this .uploads; } 
        public void setUpload(File[] upload) { this .uploads = upload; }     public String[] getUploadFileName() { return this .uploadFileNames; } 
        public void setUploadFileName(String[] uploadFileName) { this .uploadFileNames = uploadFileName; }     public String[] getUploadContentType() { return this .uploadContentTypes; } 
        public void setUploadContentType(String[] uploadContentType) { this .uploadContentTypes = uploadContentType; }