使用WebWork common file upload上载文件

 

一、软件环境
1。webwork2.1.7
2。apache common fileupload1.0

二、编写input.jsp
<html>
  <head><title>File Upload</title>    
</head>
  <body>

  <form action="fileUpload.action" enctype="multipart/form-data" method="POST">
<p>   <input type="text" name="fileFileName"/> <input type="file" name="file"/><br>
  <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
    <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
      <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
<p>    <input type="submit" name="上载"/>
  </form>
  </body>
</html>

三、编写action
import java.io.*;
import java.util.*;

import com.opensymphony.xwork.*;

public class FileUploadAction implements Action {
    File file;
    String fileContentType;
    String fileFileName;
    File[] files;
    String[] filesContentType;
    String[] filesFileName;
    private boolean debug=true;

    public String execute() throws Exception {
        ActionContext context=ActionContext.getContext();
        Map map=context.getParameters();
        context.getValueStack();
        if(filesFileName!=null)
        {
            for (int i = 0; i < filesFileName.length; i++) {
                String srcName = filesFileName[i];
                File target = new File(srcName);
                if (target.exists()) {
                    target.delete();
                }
                files[i].renameTo(target);
            }
        }
      
        return SUCCESS;
    }

    public String doDefault() throws Exception {
        return INPUT;
    }

    public void setFile(File file) {
        this.file = file;
    }

    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    public void setFiles(File[] files) {
        this.files = files;
        if(files==null)
        {
            return ;
        }
        if(debug)
        {
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName()) ;
            }
        }
    }

    public void setFilesContentType(String[] filesContentType) {
        this.filesContentType = filesContentType;
    }

    public void setFilesFileName(String[] filesFileName) {
        this.filesFileName = filesFileName;
    }

    public void setFileFileName(String fileFileName) {
        this.fileFileName = fileFileName;
    }

    public void setDebug(boolean debug) {
        this.debug = debug;
    }

    三、配置xwork.xml
    <package name="fileUpload" extends="webwork-default" namespace="/fileUpload">
    <interceptors>
    <interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
      <param name="allowedTypes">image/jpeg/jpg/bmp/txt</param>
      <param name="maximumSize">10000000</param>
    </interceptor>
    <interceptor-stack name="fileUploadStack">
         <interceptor-ref name="fileUpload"/>
         <interceptor-ref name="defaultStack"/>
       </interceptor-stack>
    </interceptors>
        <default-interceptor-ref name="fileUploadStack"/>
        <action name="fileUpload" class="org.bluebird.web.file.action.FileUploadAction">
            <result name="success">success.jsp</result>
            <result name="input">input.jsp</result>
        </action>
    </package>

    四、修改webwork.properties
    
# various values
webwork.multipart.parser=jakarta
webwork.multipart.saveDir=/tmp
webwork.multipart.maxSize=10000000

  五、总结
webwork支持common fileupload, pell,cos三种方式的文件上载,common对多文件上载支持的比较好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值