java--struts文件上传
2014-07-17 10:18
281 查看
原文转自:http://blog.csdn.net/chinasoftosg/article/details/7903045
UploadAction.java:
package crm.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport {
private File upload;
private String uploadFileName;
private String uploadContentType;
private String savePath;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getSavePath() {
//得到savePath的绝对路径
String filePath = ServletActionContext.getServletContext().getRealPath(savePath);
File saveFile = new File(filePath);
if(!saveFile.exists())
{
saveFile.mkdir();
}
return filePath;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String uploadFile()
{
try {
FileOutputStream fos = new FileOutputStream(getSavePath()+"\\"+getUploadFileName());
FileInputStream fis = new FileInputStream(getUpload());
byte[] buffer=new byte[1024];
int len = 0;
while((len = fis.read(buffer))>0)
{
fos.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
}
struts.xml:
<!-- 文件上传 -->
<action name="uploadFile" class="uploadAction" method="uploadFile">
<!-- 文件保存路径,可是相对也可是绝对 -->
<!-- 绝对:<param name="savePath">E:/upload</param> -->
<param name="savePath">/upload</param>
<result>/pages/file/upload.jsp</result>
<!-- 配置拦截器 -->
<interceptor-ref name="fileUpload">
<!-- 配置允许上传的文件类型 -->
<param name="allowedTypes">image/png,image/gif,image/pjpeg</param>
<!-- 配置允许上传的文件大小 -->
<param name="maximumSize">20000</param>
</interceptor-ref>
</action>
applicationContext.xml:
<bean id="uploadAction" class="crm.action.UploadAction" scope="prototype"/>
upload.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>上传文件</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body style="text-align: center;">
<s:form action="uploadFile.action" enctype="multipart/form-data" method="post">
文件:<input type="file" name="upload"/><br/>
<s:submit value="上传"></s:submit>
</s:form>
</body>
</html>
更多0
UploadAction.java:
package crm.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport {
private File upload;
private String uploadFileName;
private String uploadContentType;
private String savePath;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getSavePath() {
//得到savePath的绝对路径
String filePath = ServletActionContext.getServletContext().getRealPath(savePath);
File saveFile = new File(filePath);
if(!saveFile.exists())
{
saveFile.mkdir();
}
return filePath;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String uploadFile()
{
try {
FileOutputStream fos = new FileOutputStream(getSavePath()+"\\"+getUploadFileName());
FileInputStream fis = new FileInputStream(getUpload());
byte[] buffer=new byte[1024];
int len = 0;
while((len = fis.read(buffer))>0)
{
fos.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
}
struts.xml:
<!-- 文件上传 -->
<action name="uploadFile" class="uploadAction" method="uploadFile">
<!-- 文件保存路径,可是相对也可是绝对 -->
<!-- 绝对:<param name="savePath">E:/upload</param> -->
<param name="savePath">/upload</param>
<result>/pages/file/upload.jsp</result>
<!-- 配置拦截器 -->
<interceptor-ref name="fileUpload">
<!-- 配置允许上传的文件类型 -->
<param name="allowedTypes">image/png,image/gif,image/pjpeg</param>
<!-- 配置允许上传的文件大小 -->
<param name="maximumSize">20000</param>
</interceptor-ref>
</action>
applicationContext.xml:
<bean id="uploadAction" class="crm.action.UploadAction" scope="prototype"/>
upload.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>上传文件</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body style="text-align: center;">
<s:form action="uploadFile.action" enctype="multipart/form-data" method="post">
文件:<input type="file" name="upload"/><br/>
<s:submit value="上传"></s:submit>
</s:form>
</body>
</html>
更多0
相关文章推荐
- Ext+struts+java 文件上传 后台乱码解决!
- java通过struts实现web中的文件上传
- java框架Struts学习--文件上传与下载
- JSP/Java/Struts实现文件上传
- Java Struts文件上传和下载详解
- Java三大框架之struts的上传文件
- java如何保存上传后的文件 (struts2与struts1)
- [java_struts_示例]Struts上传文件
- java/struts/Servlet文件下载与ftp文件上传下载
- Java三大框架之struts的上传文件出错信息配置(允许上传的类型,上传文件的大小,以及大文件上传说明等等)
- java通过struts实现web中的文件上传
- Java Web整合开发(19) -- Struts 2.x 拦截器与文件上传
- Java Struts文件上传和下载详解
- Java三大框架之struts的多文件上传
- 利用xutils框架在Android上传多个文件到Struts搭建的java服务器
- java web 利用Struts1实现上传多个文件
- java 上传word2007办公文件 struts配置
- java框架篇---struts之文件上传和下载
- Struts上传文件报java.io.FileNotFoundException错误
- 关键字: struts、formfile、commons-fileupload、java文件上传