Struts2文件上传

Action:

package com.fgh.action;

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

import com.opensymphony.xwork2.ActionSupport;

/**
 * Action中一定要使用post方式 struts2标签默认是post方式
 * 一定要指定enctype="multipart/form-data"
 * @author ghfeng
 *
 */
public class UploadAction extends ActionSupport {

    private File file; // 对应真正上传的文件 和表单中name相同

    private String fileFileName;// 表单中name加上FileName 固定写法 否则上传不成功 文件名不能识别

    public File getFile() {
        return file;
    }

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

    public String getFileFileName() {
        return fileFileName;
    }

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

    @Override
    public String execute() throws Exception {
        System.out.println("execute invoked!");
        //以下全是IO操作 和struts2无关
        //得到文件输入流
        InputStream is = new FileInputStream(file);
        //将文件转换为输出流
        OutputStream os = new FileOutputStream("E:\\" + fileFileName);
        byte[] buffer = new byte[1024];
        int length = 0;
        while (-1 != (length = is.read(buffer))) {
            os.write(buffer, 0, length);
        }
        System.out.println("done...");
        os.close();
        is.close();
        return SUCCESS;
    }
}

jsp:

<body>
		<s:form action="upload" method="post" theme="simple" enctype="multipart/form-data">
			<s:file name="file"></s:file>
			<br>
			<s:submit></s:submit>
		</s:form>
	</body>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值