Struts2 简单的上传文件并且显示图片

 

代码结构:

 

UploadAction.java

package com.action;

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

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {
    private File upload;
    private String uploadFileName;
    public File getUpload() {
        return upload;
    }
    public void setUpload(File upload) {
        this.upload = upload;
    }
    public String getUploadFileName() {
        return uploadFileName;
    }
    public void setUploadFileName(String uploadFileName) {
        this.uploadFileName = uploadFileName;
    }
    @Override
    public String execute() throws Exception {
        InputStream is = new FileInputStream(getUpload());
        String path = ServletActionContext.getServletContext().getRealPath("/upload");
        OutputStream os = new FileOutputStream(path+"/"+this.uploadFileName);
        byte buffer[] = new byte[1024];
        int count = 0;
        while((count=is.read(buffer))>0){
            os.write(buffer,0,count);
        }
        os.close();
        is.close();
        return SUCCESS;
    }
}

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
      <head>
        <title>文件上传</title>
      </head>
      <body>
        <s:form action="myupload" method="post" enctype="multipart/form-data">
        <s:file name="upload" label="上传的文件"></s:file>
        <s:submit value="上传"></s:submit>
        </s:form>
      </body>
</html>

 

struts.jsp

<?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="default" extends="struts-default">
        <action name="myupload" class="com.action.UploadAction">
            <result name="success">/success.jsp</result>
        </action>
    </package>
    <constant name="struts.multipart.saveDir" value="/tmp"></constant>
</struts>    

 

success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
      <head>
        <title>文件上传</title>
      </head>
      
      <body>
        恭喜你,上传成功!<img src=upload/<s:property value="uploadFileName"/>>
      </body>
</html>

 

posted @ 2018-11-15 15:03  Roni_i  阅读(415)  评论(0编辑  收藏  举报