`

struts2文件上传功能

阅读更多

action代码如下

package com.szhifly.railroadjx.product.action;


import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.struts2.util.ServletContextAware;

import com.szhifly.railroadjx.product.entity.ProductInfo;
import com.szhifly.railroadjx.product.entity.ProductTemplet;
import com.szhifly.railroadjx.common.BaseAction;
import com.szhifly.railroadjx.common.ConditionData;
import com.szhifly.railroadjx.common.DateUtils;
import com.szhifly.railroadjx.common.Db;
import com.szhifly.railroadjx.product.logic.interf.IProductInfoLogic;
import com.szhifly.railroadjx.product.logic.interf.IProductTempletLogic;
import java.io.*;
import java.net.URLDecoder;

import javax.servlet.ServletContext;  
import java.text.DateFormat;   
import java.text.SimpleDateFormat;   
import java.util.Date;   
import java.util.Random;


public class test implements ServletContextAware {

	private static Logger log = Logger.getLogger(ProductInfoAction.class);


	//对应jsp页面中的<s:file name="doc" label="File" >name
	private File doc;
	private String fileName;
	private String contentType;	
	private ServletContext context;



	public void setDoc(File file) {
		this.doc = file;
	}

	public void setDocFileName(String fileName) {
		this.fileName = fileName;
	}

	public void setDocContentType(String contentType) {
		this.contentType = contentType;
	}

	public void setServletContext(ServletContext context) {
		this.context = context;
	}
	public ServletContext getContext() {
		return context;
	}

	public void setContext(ServletContext context) {
		this.context = context;
	}

	//上传文件
	public String uplaodFile()throws Exception { 
		String targetDirectory="";
		String targetFileName="";
		targetDirectory="D:\\file";
		targetFileName = generateFileName(fileName);
		File target =new File(targetDirectory, targetFileName); 
		FileUtils.copyFile(doc, target);

		return "success";
	}

	//获取某月所在的季度的所有月份
	private String getMonthFor3(int year,int month){
		int array[][] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};      
        int season = 1;      
        if(month>=1&&month<=3){      
                season = 1;      
        }      
        if(month>=4&&month<=6){      
                season = 2;      
        }      
        if(month>=7&&month<=9){      
                season = 3;      
        }      
        if(month>=10&&month<=12){      
                season = 4;      
        }  
        String returnString="";
        for(int i=0;i<3;i++){
        	String tempMon=""+array[season-1][i];
        	if(tempMon.length()==1){
        		tempMon="0"+tempMon;
        	}
        	if("".equals(returnString)){
        		returnString+="'"+year+"-"+tempMon+"'";
        	}else{
        		returnString+=",'"+year+"-"+tempMon+"'";
        	}       	
        }     
       
        return returnString;  
	}
	//获取重新的名字
	private String generateFileName(String fileName) {
		int position = fileName.lastIndexOf(".");
		String extension = fileName.substring(position); //获取后缀
		String desfileName=DateUtils.getCurrentDate("yyyyMMddHHmmss")+"_"+(new Date()).getTime();
		return desfileName + extension;
	}	



}

 

jsp代码如下,form 必须加入enctype 这个属性,否则会失败的,doc 对应action的doc

<s:form name="createForm" action="/test.action" method="post"  enctype="multipart/form-data" >
<s:file name="doc" label="File" ></s:file>
</s:form>

 

分享到:
评论

相关推荐

    struts2 文件上传功能

    Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的...

    struts2文件上传jar

    这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...

    Struts2文件上传源码

    通过以上步骤,你可以实现一个简单的Struts2文件上传功能。然而,实际应用中可能需要考虑更多细节,如文件大小限制、类型检查、安全问题(防止文件覆盖、恶意文件上传等)。对于更复杂的需求,可以利用Struts2的拦截...

    struts2文件上传下载源代码

    文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...

    Struts2文件上传

    Struts2文件上传是Web开发中常见的功能,用于允许用户在网页上选择并上传本地文件到服务器。...通过上述步骤和示例,你可以构建一个基本的Struts2文件上传功能,但在实际项目中,还需要根据具体需求进行扩展和优化。

    完整struts2文件上传示例

    Struts2是一个强大的MVC(模型-视图-控制器)...通过以上步骤,你就可以实现一个完整的Struts2文件上传功能。在实际开发中,还需要考虑到性能优化、用户体验、安全性等多个方面,以提供更健壮、安全的文件上传服务。

    struts2文件上传,文件大小设置

    综上所述,Struts2文件上传功能的大小设置主要通过配置`FileUploadInterceptor`来实现,结合拦截器栈和Action配置,可以灵活地控制文件上传的大小限制,并提供友好的错误处理。在实际开发中,确保正确配置这些参数,...

    struts2实现文件上传下载

    首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在Action类中声明一个`List&lt;FileInfo&gt;`类型的字段,用于接收上传的文件...

    struts2上传文件需要的jar包

    总的来说,`commons-fileupload-1.2.1.jar` 和 `commons-io-1.4.jar`是实现Struts2文件上传功能的基础,它们提供了解析、存储和操作上传文件的核心功能。理解并熟练运用这两个库,可以有效地进行文件上传操作,并...

    struts2文件上传

    对于Struts2文件上传功能而言,主要依赖库包括Struts2核心库、Commons FileUpload以及Commons IO等。以Struts2.0.6版本为例,具体的依赖列表可能包括但不限于: - `struts2-core-2.0.6.jar` - `commons-...

    Struts2文件上传.docx

    Struts2 文件上传功能是基于Java Web开发中的一个重要特性,它允许用户通过Web表单上传文件到服务器。在Struts2框架中,文件上传主要依赖于`Interceptor`(拦截器)机制来处理文件流。以下是关于Struts2文件上传的...

    struts2文件上传中的struts.multipart.saveDir提示信息

    总之,理解和配置`struts.multipart.saveDir`是Struts2文件上传功能的基础,通过设置这个参数,可以确保上传过程的顺利进行,避免因为找不到临时存储位置而导致的运行时错误。同时,合理规划文件存储策略,结合其他...

    struts2文件上传实例

    文件上传功能是Web应用中常见的需求,例如用户上传图片、文档等。在Struts2框架下实现文件上传,主要涉及到以下几个核心概念和技术点: 1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加...

    Struts2多个文件上传

    在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...

    Struts2之struts2文件上传详解案例struts011

    在Struts2中,文件上传功能是常见的需求,比如用户可能需要上传个人照片、文档或者其他类型的文件。在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解...

    struts2文件上传例子.rar

    在“struts2文件上传例子.rar”这个项目中,开发者已经使用Struts2.0框架实现了一个简单的文件上传功能。MyEclipse 6.6是一个集成开发环境,支持Java EE项目开发,可以直接导入该项目进行运行和调试。 首先,我们...

    一个Struts2文件上传的源码

    Struts2作为一款成熟且广泛使用的MVC框架,提供了强大的文件上传功能。本文将通过解析一个具体的Struts2文件上传示例代码,深入探讨其工作原理及实现细节。 #### 二、核心概念与组件 **1. JSP页面(表单)** JSP...

    简单易懂的struts2文件上传

    在Struts2中,文件上传功能是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述...

    struts2 文件上传

    通过以上步骤,你就可以在Struts2框架中实现基本的文件上传功能了。然而,实际开发中可能需要根据项目需求进行更多的定制,例如增加多文件上传、文件预览、上传进度显示等功能。这需要对Struts2框架有更深入的理解,...

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

Global site tag (gtag.js) - Google Analytics