<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib
uri="http://struts.apache.org/tags-bean
"
prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html
"
prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic
"
prefix="logic"%>
<%
String path =
request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<title>JSP for UploadForm
form</title>
</head>
<body>
<html:form
action="/upload" enctype="multipart/form-data">
file : <html:file
property="file"/><html:errors property="file"/><br/>
<html:submit value="上传"/>
</html:form>
<hr>
<logic:present name="fileName">
<html:link
href="<%=basePath+"myupload/"+request.getAttribute("fileName") %>"
target="_blank" useLocalEncoding="gb2312">
<bean:write
name="fileName"/>
</html:link>
<bean:write
name="size"/>
</logic:present>
</body>
</html>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config
PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd
">
<struts-config>
<form-beans >
<form-bean
name="uploadForm" type="com.huqianhao.struts.form.UploadForm" />
</form-beans>
<global-exceptions />
<global-forwards
/>
<action-mappings >
<action
attribute="uploadForm"
input="/upload.jsp"
name="uploadForm"
path="/upload"
scope="request"
type="com.huqianhao.struts.action.UploadAction">
<forward
name="upload" path="/upload.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.huqianhao.struts.ApplicationResources"
/>
</struts-config>
UploadAction.java
/*
* Generated by MyEclipse Struts
* Template path:
templates/java/JavaClass.vtl
*/
package com.huqianhao.struts.action;
import java.io.FileNotFoundException;
import
java.io.FileOutputStream;
import java.io.IOException;
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 com.huqianhao.struts.form.UploadForm;
/**
* MyEclipse Struts Creation date: 01-12-2008
*
* XDoclet
definition:
*
* @struts.action path="/upload" name="uploadForm"
input="/upload.jsp"
* scope="request"
validate="true"
*/
public class UploadAction extends Action {
/*
*
Generated Methods
*/
/**
* Method execute
*
* @param mapping
* @param form
*
@param request
* @param response
* @return ActionForward
*/
public
ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UploadForm
uploadForm = (UploadForm) form;
FormFile file =
uploadForm.getFile();
String fileName = file.getFileName();
String
contentType = file.getContentType();
String size = (file.getFileSize() + "
bytes");
try {
InputStream stream = file.getInputStream();
// 把内容写到指定的文件中
OutputStream bos = new
FileOutputStream(request.getRealPath("")
+ "/myupload/" +
fileName);
int bytesRead = 0;
byte[] buffer = new
byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1)
{
bos.write(buffer, 0, bytesRead);
}
bos.close();
stream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
request.setAttribute("fileName",
fileName);
request.setAttribute("size", size);
request.setAttribute("contentType", contentType);
return
mapping.findForward("upload");
}
}
UploadForm.java
/*
* Generated by MyEclipse Struts
* Template path:
templates/java/JavaClass.vtl
*/
package com.huqianhao.struts.form;
import javax.servlet.http.HttpServletRequest;
import
org.apache.struts.action.ActionErrors;
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionMapping;
import
org.apache.struts.upload.FormFile;
/**
* MyEclipse Struts
* Creation date: 01-12-2008
*
* XDoclet
definition:
* @struts.form name="uploadForm"
*/
public class UploadForm
extends ActionForm {
/*
* Generated fields
*/
/** file property */
private FormFile file;
/*
* Generated Methods
*/
/**
* Method validate
* @param mapping
* @param request
*
@return ActionErrors
*/
public ActionErrors validate(ActionMapping
mapping,
HttpServletRequest request) {
// TODO Auto-generated
method stub
return null;
}
/**
* Method reset
* @param mapping
* @param
request
*/
public void reset(ActionMapping mapping, HttpServletRequest
request) {
// TODO Auto-generated method stub
}
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}
分享到:
相关推荐
struts 上传文件的示例,是一个myeclipse工程
最近在做struts2的学习研究,这里共享一份完整能运行的示例
自己使用struts2写的一个文件上传示例代码,可以实现对文件的大小控制、格式控制等,里面注释写得比较详细,给大家分享一下子
本程序为struts2文件是上传程序。解压后就可以使用。程序比较简单适合于初学者。奔驰呢工序仅供参考。严禁用于其他用途
struts2中的文件上传和下载示例 struts2中的文件上传和下载示例 struts2中的文件上传和下载示例
该案例是基于struts2.0 来上传图片的案例,可以轻松的限制图片的类型,大小路径,如果有不明白的地方可以844818108@qq.com
文件上传吗,你懂得,一个简单的小例子而已,有简单的注释可供查看
文件上传代码示例,使用了struts,简单易懂
Struts1.x的上传文件示例。Struts1.x的教程参考我的Blog:http://blog.csdn.net/boyazuo
基于struts2实现了单一文件上传,多文件上传和文件下载的功能.
利用struts 实现 文件上传功能的代码示例
这个是比较简单的文件上传示例,所用到得知识点比较少
Struts2 的简单上传。功能基本实现。
NULL 博文链接:https://wankunde.iteye.com/blog/904409
可以实现一次性上传多个文件,使用JavaScript动态添加一个上传文本框。是用struts2实现的
struts2 文件上传和下载示例程序 http://blog.csdn.net/zhiweiv/archive/2008/10/13/3070610.aspx
直接将myeclipse工具导入项目fileupload即可测试
struts2文件上传。 包括一个上传单个文件的示例, 和一个多文件上传的示例, 包含所需要的所有jar文件。
这是一个关于struts上传下载的示例程序