六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

Struts附件上传

[复制链接]

升级  30%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
15
 楼主| 发表于 2013-1-15 02:21:44 | 显示全部楼层 |阅读模式
第一,jsp上传页面内容:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
  <html:form action="myupload.do" method="post" enctype="multipart/form-data">
    <html:file property="thisFile"/><br>
<html:file property="thisFile"/><br>
    <html:submit/>
  </html:form>
</body>
</html>



第二,一个javabean
package upload;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;

public class FileInfo extends ActionForm {
    private FormFile thisFile;
    public FormFile getThisFile() {
        return thisFile;
    }

    public void setThisFile(FormFile thisFile) {
        this.thisFile = thisFile;
    }

    public ActionErrors validate(ActionMapping actionMapping,
                                 HttpServletRequest httpServletRequest) {
            /** @todo: finish this method, this is just the skeleton.*/
        return null;
    }

    public void reset(ActionMapping actionMapping,
                      HttpServletRequest servletRequest) {
    }
}
第三,一个action
package upload;
import java.io.*;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.struts.upload.FormFile;

public class myupload extends Action {
    public ActionForward execute(ActionMapping actionMapping,
                                 ActionForm actionForm,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            FileNotFoundException, IOException {
        FileInfo fileInfo = (FileInfo) actionForm;

        //获取上传文件
        FormFile f=fileInfo.getThisFile();
        InputStream is=f.getInputStream();

        //将文件存入服务器上
        String filename=request.getSession().getServletContext().getRealPath("/shangchuan/"+f.getFileName());
        OutputStream os=new FileOutputStream(filename);
        int x=0;

        //优化流处理过程
        byte[] buffer = new byte[8192];

        while((x=is.read(buffer, 0, 8192))!=-1)
        {
            os.write(buffer,0,x);
        }
        os.close();
        response.sendRedirect("jsp1.jsp");//根据实际情况跳转
        return null;
    }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表