您的位置:首页 > 编程语言 > Java开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: