文件上传

jsp;

  <body>
    <form action="${pageContext.request.contextPath}/Shang.action" method="post"  enctype="multipart/form-data">
        <input type="file" name="myphoto">
        <input type="submit" value="上传">
    
    </form>
  </body>

action;

    // 封装上传文件域的属性
    private File image;
    // 封装上传文件类型的属性
    private String imageContentType;
    // 封装上传文件名的属性
    private String imageFileName; //
    // 接受依赖注入的属性
    private String savePath;
package com.file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import com.opensymphony.xwork2.ActionSupport;

public class CopyOfShangAction extends ActionSupport {
    private File myphoto;
    private String myphotoFileName;



    public File getMyphoto() {
        return myphoto;
    }

    public void setMyphoto(File myphoto) {
        this.myphoto = myphoto;
    }

    public String getMyphotoFileName() {
        return myphotoFileName;
    }

    public void setMyphotoFileName(String myphotoFileName) {
        this.myphotoFileName = myphotoFileName;
    }

    public String execute() throws Exception {
        FileOutputStream fos = null;
        FileInputStream fis = null;
        try {
            // 建立文件输出流
        
            fos = new FileOutputStream("D:/" + "\"
                    + getMyphotoFileName());
            // 建立文件上传流
            fis = new FileInputStream(getMyphoto());
            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = fis.read(buffer)) > 0) {
                fos.write(buffer, 0, len);
            }
        } catch (Exception e) {
            System.out.println("文件上传失败");
            e.printStackTrace();
        } finally {
            close(fos, fis);
        }
        System.out.println("ok");
        return SUCCESS;
    }

    private void close(FileOutputStream fos, FileInputStream fis) {
        if (fis != null) {
            try {
                fis.close();
            } catch (Exception e) {
                System.out.println("FileInputStream关闭失败");
                e.printStackTrace();
            }
        }
        if (fos != null) {
            try {
                fos.close();
            } catch (Exception e) {
                System.out.println("FileOutputStream关闭失败");
                e.printStackTrace();
            }
        }
    }

}

struts.xml

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

    <package name="shang" namespace="/" extends="struts-default">
        <action name="Shang" class="com.file.CopyOfShangAction">
            <result name="success">/WEB-INFchenggong.jsp</result>
        </action></package></struts>    
原文地址:https://www.cnblogs.com/laohan110/p/3525558.html