//上传界面的代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html:html>
<head>
<title>Struts上传文件</title>
</head>
<body>
<!-- 这里需要注意的是method一定要设成post,还要设置enctype为multipart/form-data-->
<html:form action="upload" enctype="multipart/form-data" method="post">
<table>
<tr>
<td>
<div>
<html:file property="file" size="30"></html:file>
</div>
</td>
</tr>
<tr>
<td>
<div>
<html:submit property="upload" value="上传"></html:submit>
</div>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
//然后是页面对应的ActionForm
package forms;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadForm extends ActionForm {
private String filename;
private FormFile file;
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
}
//处理业务的Action
package actions;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import forms.UploadForm;
public class UploadAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception {
UploadForm uf=(UploadForm)form;
String filename=uf.getFilename();
FormFile file=uf.getFile();
if(file!=null){
System.out.println("我叫"+file.getFileName());
}
//这里需要注意的是request.getRealPath();已经废弃,可以通过
//下面的方法来替代
String path=req.getSession().getServletContext().getRealPath("/");
InputStream in=file.getInputStream();
OutputStream out=new FileOutputStream(path+"/upload/"+file.getFileName());
int read=0;
byte[] buffer=new byte[1024];
while((read=in.read(buffer,0,1024))!=-1){
out.write(buffer, 0, read);
}
in.close();
out.close();
return mapping.findForward("uploadsuc");
}
}
//Struts-config.xml的配置
<form-beans>
<form-bean name="uploadform" type="forms.UploadForm"></form-bean>
</form-beans>
<action path="/upload"
type="actions.UploadAction"
name="uploadform"
input="/test/upload.jsp"
scope="request"
>
<forward name="uploadsuc" path="/test/uploadsuc.jsp"/>
</action>
分享到:
相关推荐
struts1 实现文件上传 不喜勿喷 谢谢 合作
struts1实现文件上传和下载,struts1实现文件上传和下载。
struts1 实现文件上传下载...
本事例代码主要使用Strust1提供的上传功能对文件进行上传。
Struts1 实现的文件上传 有分页技术 不过没有下载 可以实现的一个小项目 很适合入门Struts1 或者说是想了解Struts1文件上传的新手的一个项目
用struts1实现文件的上传和下载,在本机已测试成功,一个简单的实现文件上传和下载的功能
使用struts1实现文件上传和下载,上传有单文件上传,多文件上传,动态添加上传文件域。
本资源源于网络,经过修改,返还网络!呵呵呵!完整项目demo。
在struts2基础上实现的包括单文件、多文件的上传及下载
struts1实现的文件批量上传,java实现
struts 单文件上传和多文件上传带进度条
NULL 博文链接:https://yanqh.iteye.com/blog/1503781
使用struts2实现文件下载功能,可以直接运行!
struts实现的文件上传下载功能,最大可以上传到150MB
JavaEE Struts文件上传
struts 文件上传 Struts实现文件上传
struts与hibernate实现文件的上传与动态下载 主要就是运用struts2.2和hibernate3.6进行文件上传与下载,并且能动态的下载,里面包括了详细的构建文档,以及代码
struts1和struts2分别实现文件上传下载功能
1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...
自己做的一个struts2 实现文件批量上传功能,