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的同学们有帮助。如果有事么不足,请大家多指教。
本项目以"ajax Struts 上传文件"为主题,通过Ajax调用Struts的Action来实现文件的无刷新上传。 无刷新上传文件是一种用户友好的功能,它允许用户在不重新加载整个网页的情况下上传文件,极大地提高了交互性。在这个...
总结来说,这个"EasyUI和Struts上传文件的例子"涉及到的技术点包括:Struts2框架的Action配置与文件处理,EasyUI的表单和进度条组件,多部分表单数据处理,以及JRE1.7的文件操作API。通过这个示例,开发者可以学习...
在"struts上传文件及下载"的主题中,我们将深入探讨如何使用Struts2实现文件的上传与下载功能,以及如何将上传的文件存储到数据库并从数据库中检索用于下载。 1. **文件上传** - **Action配置**:首先,你需要创建...
Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...
`FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...
以下是对“Struts上传文件”这一主题的详细讲解。 1. **Struts 2文件上传组件**: Struts 2 提供了 `org.apache.struts2.components.File` 组件来处理文件上传。这个组件可以与表单元素结合,使用户能够选择要上传...
struts上传文件.doc
在上述代码中,我们限制了最大上传文件大小为5MB,并将文件保存到了服务器的一个特定目录。为了防止路径遍历攻击,应使用相对路径或者绝对路径,并确保路径安全。 最后,前端页面(例如upload.jsp)需要包含一个...
文件上传是Web应用程序中常见的功能之一,允许用户上传文件到服务器,例如图片、文档或其他数据。Struts 提供了处理文件上传的能力,使得开发者可以轻松实现这一功能。 在Struts中,文件上传主要依赖于Apache ...
2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...
1. **配置Struts2**: 首先,需要在struts.xml配置文件中启用文件上传插件,并设置最大上传文件大小。 ```xml <constant name="struts.multipart.maxSize" value="10485760"></constant> <!-- 10MB --> ...
在本文中,我们将深入探讨如何在Struts中实现文件上传,并结合`SetCharacterEncodingFilter.java`这个文件名,讨论字符编码的重要性。 首先,文件上传在Web应用中是一个常见的需求,例如用户可能需要上传头像、简历...
3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...
配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...
文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...
struts2上传文件的进度条显示,绝对可用! 所达到效果 1.显示总文件大小 2.显示已上传文件大小 3.显示当前进度(百分比控制) 4.显示剩余上传时间 5.显示当前速度 (本人研究了很久才搞出来的,希望大家指教...
以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...