`
tracy婷婷
  • 浏览: 24355 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

struts上传文件

阅读更多
package com.web.struts.action;

import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {

 	//上传文件属性
	private File doc;
	//上传文件对应的文件名
	private String docFileName;
	//文件类型
	private String docContextType;
	//文件描述
	private String description;
	
	public File getDoc() {
		return doc;
	}
	public void setDoc(File doc) {
		this.doc = doc;
	}
	public String getDocFileName() {
		return docFileName;
	}
	public void setDocFileName(String docFileName) {
		this.docFileName = docFileName;
	}
	public String getDocContextType() {
		return docContextType;
	}
	public void setDocContextType(String docContextType) {
		this.docContextType = docContextType;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		//获得文件上传的上传目录
		String realPath=ServletActionContext.getServletContext

().getRealPath("upload");
		
		System.out.println("realPath:"+realPath);
		//保存文件的文件名
		String newFileName=getNameFile(this.getDocFileName());
		//创建一个目标文件
		File target =new File(realPath+File.separator+newFileName);
		//将临时的文件复制到目标文件
		FileUtils.copyFile(doc, target);
		
		return super.execute();
	}
	
	//获得新文件的名称
	private String getNameFile(String docFileName2) {
		// TODO Auto-generated method stub
		//获得当前时间
		DateFormat format=new SimpleDateFormat("yyMMddHHmmss");
		//转化为字符串
		String formatDate=format.format(new Date());
		//随即生成文件编号
		int random=new Random().nextInt(10000);
		//获得文件后缀名
		int position=docFileName.lastIndexOf(".");
		String extendsion=docFileName.substring(position);
		//组成一个新的文件名称
		return formatDate+random+extendsion;
	}
	

 

<%@ taglib prefix="s" uri="/struts-tags"%>



 <body>
    <s:form action="fileUPload" method="post" enctype="multipart/form-data">
    	<s:file name="doc" label="请选择上传文件"></s:file>
    	<s:textfield name="description" label="文件描述"></s:textfield> 
    	<s:submit value="上传"></s:submit>
    </s:form>
  </body>

 

 

<%@ taglib prefix="s" uri="/struts-tags"%>

 <body> 
    上传的文件名 :<s:property value="docFileName"/>
    上传的文件类型:<s:property value="docContentType"/>
    文件的描述:<s:property value="description"/>
  </body>

 

分享到:
评论

相关推荐

    struts上传文件(图片/附件)

    struts上传文件(图片/附件),希望对初学struts的同学们有帮助。如果有事么不足,请大家多指教。

    ajax Struts 上传文件

    本项目以"ajax Struts 上传文件"为主题,通过Ajax调用Struts的Action来实现文件的无刷新上传。 无刷新上传文件是一种用户友好的功能,它允许用户在不重新加载整个网页的情况下上传文件,极大地提高了交互性。在这个...

    EasyUI和Struts上传文件的例子

    总结来说,这个"EasyUI和Struts上传文件的例子"涉及到的技术点包括:Struts2框架的Action配置与文件处理,EasyUI的表单和进度条组件,多部分表单数据处理,以及JRE1.7的文件操作API。通过这个示例,开发者可以学习...

    struts上传文件及下载

    在"struts上传文件及下载"的主题中,我们将深入探讨如何使用Struts2实现文件的上传与下载功能,以及如何将上传的文件存储到数据库并从数据库中检索用于下载。 1. **文件上传** - **Action配置**:首先,你需要创建...

    JavaEE Struts文件上传

    Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...

    struts2实现文件上传下载

    `FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...

    Struts上传文件

    以下是对“Struts上传文件”这一主题的详细讲解。 1. **Struts 2文件上传组件**: Struts 2 提供了 `org.apache.struts2.components.File` 组件来处理文件上传。这个组件可以与表单元素结合,使用户能够选择要上传...

    struts上传文件.doc

    struts上传文件.doc

    Struts上传文件实现代码

    在上述代码中,我们限制了最大上传文件大小为5MB,并将文件保存到了服务器的一个特定目录。为了防止路径遍历攻击,应使用相对路径或者绝对路径,并确保路径安全。 最后,前端页面(例如upload.jsp)需要包含一个...

    struts 上传文件

    文件上传是Web应用程序中常见的功能之一,允许用户上传文件到服务器,例如图片、文档或其他数据。Struts 提供了处理文件上传的能力,使得开发者可以轻松实现这一功能。 在Struts中,文件上传主要依赖于Apache ...

    jsp+struts文件上传

    2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...

    struts实现文件上传功能

    1. **配置Struts2**: 首先,需要在struts.xml配置文件中启用文件上传插件,并设置最大上传文件大小。 ```xml &lt;constant name="struts.multipart.maxSize" value="10485760"&gt;&lt;/constant&gt; &lt;!-- 10MB --&gt; ...

    使用struts上传文件

    在本文中,我们将深入探讨如何在Struts中实现文件上传,并结合`SetCharacterEncodingFilter.java`这个文件名,讨论字符编码的重要性。 首先,文件上传在Web应用中是一个常见的需求,例如用户可能需要上传头像、简历...

    struts框架-文件上传下载

    3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...

    struts1的文件上传

    配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...

    struts2文件上传下载源代码

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

    struts2上传文件进度条显示

    struts2上传文件的进度条显示,绝对可用! 所达到效果 1.显示总文件大小 2.显示已上传文件大小 3.显示当前进度(百分比控制) 4.显示剩余上传时间 5.显示当前速度 (本人研究了很久才搞出来的,希望大家指教...

    出血推荐-使用Struts上传文件

    以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...

Global site tag (gtag.js) - Google Analytics