zoukankan      html  css  js  c++  java
  • Struts2 文件上传

    1.文件上传Action类

    package com.zhanggaosong.action;

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

    import org.apache.struts2.ServletActionContext;

    import com.opensymphony.xwork2.ActionSupport;

    public class UploadAction extends ActionSupport {

    private String picName;
    private File pic; // 上传文件的文件本身
    private String picFileName; // 上传文件的原始文件名
    private String picContentType; // 上传文件的文件类型

    public String getPicName() {
    return picName;
    }

    public void setPicName(String picName) {
    this.picName = picName;
    }

    public File getPic() {
    return pic;
    }

    public void setPic(File pic) {
    this.pic = pic;
    }

    public String getPicFileName() {
    return picFileName;
    }

    public void setPicFileName(String picFileName) {
    this.picFileName = picFileName;
    }

    public String getPicContentType() {
    return picContentType;
    }

    public void setPicContentType(String picContentType) {
    this.picContentType = picContentType;
    }

    @Override
    public String execute() throws Exception {

    /**
    * 处理文件上传
    */

    String uploadPath = ServletActionContext.getServletContext()
    .getRealPath("/upload");

    String fileName = UUID.randomUUID().toString()
    + picFileName.substring(picFileName.lastIndexOf("."));

    System.out.println(uploadPath + "/" + fileName);

    System.out.println("文件名:"+fileName);

    FileInputStream is = new FileInputStream(pic);

    FileOutputStream os = new FileOutputStream(uploadPath + "/" + fileName);

    byte[] buff = new byte[1024];
    int hasRead = 0;
    while((hasRead = is.read(buff))>0){
    os.write(buff,0,hasRead);
    }
    is.close();
    os.close();

    /**
    * 将文件名放到数据库中去
    */

    return SUCCESS;
    }

    }

    2.配置Struts.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="uploadAction" namespace="/" extends="struts-default">
    <action name="uploadAction" class="com.zhanggaosong.action.UploadAction">
    <result>/success.jsp
    </result>
    </action>
    </package>
    </struts>

    3.文件上传页面

    <body>
    <h2>文件上传</h2>
    <s:actionmessage />
    <s:form action="uploadAction" method="post"
    enctype="multipart/form-data">
    <table>
    <tr>
    <td><s:file name="pic" label="请选择上传的文件:" /></td>
    </tr>
    <tr>
    <td><s:submit value="上传" /></td>
    </tr>
    </table>
    </s:form>
    </body>

  • 相关阅读:
    人生是马拉松,胜者不一定是跑得最快的
    二.JSP开发过程中遇到的问题及解决
    一.JSP开发的工具下载与环境搭建
    将文件隐藏到图片中的方法与一键合成工具
    VC6兼容性及打开文件崩溃问题解决
    windows10UWP开发真机调试时遇到DEP6100和DEP6200解决办法
    Vs2015 win10虚拟机启动问题:无法设置UDP端口 解决方法 合集(转载)
    10个维修中最常见的蓝屏代码,值得收藏!
    [idea]添加jar包的方法
    [idea]创建一个控制台程序
  • 原文地址:https://www.cnblogs.com/zhanggaosong/p/2955105.html
Copyright © 2011-2022 走看看