首页 > 其他 > 详细

struts2的文件上传

时间:2014-03-29 08:52:34      阅读:369      评论:0      收藏:0      [点我收藏+]

实验步骤:

1.创建一个web项目

2.导入struts2常用的类包,下载地址:http://download.csdn.net/detail/yy228313/7108273

3.创建UploadAction动作类,保存包名为com.ye.sise.action

动作类中创建4个变量:

1
2
3
4
private File upload;//封装上传文件内容
private String uploadFileName;//封装上传文件名
private String uploadContenType;//封装上传文件的类型
private String savePath;//保存路径

setSavePath方法:

1
2
3
4
public String getSavePath() {
    //返回请求参数中savePath保存的值,sp:在struts.xml中配置
    return ServletActionContext.getRequest().getRealPath(savePath);
}

  

execute方法:

1
2
3
4
5
6
7
8
9
10
11
12
public String execute() throws Exception{
    String filePath=getSavePath()+"\\"+getUploadFileName();
    InputStream is=new FileInputStream(getUpload());//创建上传文件的输入流
    OutputStream os=new FileOutputStream(filePath);//根据新路径创建输出流
    byte buffer[]=new byte[1024];
    int len=0;
    while((len=is.read(buffer))>0)
        os.write(buffer,0,len);
    is.close();
    os.close();
    return SUCCESS;
}

  

4.创建两个JSP页面,upload.jsp/uploadResult.jsp,分别用于上传和显示参数,保存目录:webRoot

1
2
3
4
<s:form action="upload" enctype="multipart/form-date">
<s:file name="upload" label="请选择上传的文件"/>
<s:submit value="上传"/>
</s:form>

  

5.在指定的位置创建用于保存上传文件的文件夹upload

6.在配置文件struts.xml中定义动作包和动作

核心代码:

1
2
3
4
5
6
7
8
9
10
<action name="upload" class="com.sise.ye.action.UploadAction">
      <param name="savePath">/upload</param>
      <result name="success">uploadResult.jsp</result>
      <result name="input">upload.jsp</result>
      <interceptor-ref name="fileUpload">
        <param name="allowedType">text/plain</param>
        <param name="maximumSize">20999</param>
      </interceptor-ref>
      <interceptor-ref name="defaultStack"/>
    </action>

代码解析:allowedTypes是设置允许上传文件的类型了,maximumSize是设置文件允许的最大限度。

代码下载路径:http://download.csdn.net/detail/yy228313/7115181

struts2的文件上传,布布扣,bubuko.com

struts2的文件上传

原文:http://www.cnblogs.com/yexiaodong/p/3628855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!