Struts文件上传功能的实现

工具: myeclipse 6.5

1.
新建项目 StrutsFileUpload

导入 struts1.x 的属性包:

struts-config.xml 里面新建一个 action form fileupload

struts-config.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
<form-beans >
    <form-bean name="fileuploadForm" type="com.shiryu.form.FileuploadForm" />
</form-beans>


<global-exceptions />
<global-forwards />
<action-mappings >
    <action
      attribute="fileuploadForm"
      input="/fileupload.jsp"
      name="fileuploadForm"
      path="/fileupload"
      scope="request"
      type="com.shiryu.action.FileuploadAction">
      <forward name="index" path="/index.jsp" />
    </action>

  
</action-mappings>

<message-resources parameter="com.shiryu.ApplicationResources" />
</struts-config>

2.com.shiryu.action
包下的 FileuploadAction.java

package com.shiryu.action;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

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.shiryu.form.FileuploadForm;

public class FileuploadAction extends Action {
   
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        FileuploadForm fileuploadForm = (FileuploadForm) form;

        FormFile upfile=fileuploadForm.getFilecontext();

        //
文件上传功能实现
        try {

            byte[] buf=upfile.getFileData();

                OutputStream out=new FileOutputStream(new File("d://"+fileuploadForm.getFilecontext().toString()));

                out.write(buf);

                out.close();
               
        } catch (FileNotFoundException e) {
                e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return mapping.findForward("index");
    }
}

3.com.shiryu.form
包下的 FileuploadForm.java

package com.shiryu.form;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;


public class FileuploadForm extends ActionForm {
   
    private static final long serialVersionUID = 5572854553277148095L;

    
// 类型是 FormFile
    private FormFile filecontext;

    private String filename;

    public FormFile getFilecontext() {
        return filecontext;
    }

    public String getFilename() {
        return filename;
    }


    public void setFilename(String filename) {
        this.filename = filename;
    }

    public void setFilecontext(FormFile filecontext) {
        this.filecontext = filecontext;
    }
}


fileUpload.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html>
    <head>
        <title>JSP for FileuploadForm</title>
    </head>
    <body>

       
<html:form action="/fileupload" enctype="multipart/form-data">

            filename : <html:text property="filename"/><html:errors property="filename"/><br/>

            filecontext : <html:file property="filecontext"/><html:errors property="filecontext"/><br/>

            <html:submit/><html:cancel/>

        </html:form>

    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值