public ActionForward fileUpload(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception {
PictureForm pictureForm = (PictureForm) form;
FormFile file = pictureForm.getFile();
File dir = new File("d:/upload"); // 构建上传目录
if (!dir.exists()) {
dir.mkdirs();
}
if (file.getFileSize() > 0) { // 判断是否有文件上传
FileOutputStream out = null;
try {
byte[] b = file.getFileData(); // 取得文件数据
String fileName = String.valueOf(Calendar.getInstance().getTimeInMillis());
String extName = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 得到上传文件的扩展名
File outfile = new File(dir + File.separator + fileName + extName);
out = new FileOutputStream(outfile, false);
out.write(b); // 通过流将数据写入文件
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close(); // 关闭文件输出流
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return new ActionForward("success");
}
注:jsp页面要使用struts标签,格式如下:
<html:form action="" method="post" enctype="multipart/form-data">
<html:file property=""/>
</html:form>
另外在ActionForm中定义一个FormFile属性,对应jsp页面中的<html:file />
分享到:
相关推荐
本压缩包"struts+spring文件上传大小限制.rar"显然是针对在Struts和Spring整合环境下,如何处理文件上传时的大小限制问题。以下将详细介绍这两个框架在文件上传时的处理机制以及如何设置文件大小限制。 1. Struts...
9. **commons-fileupload.jar** 和 **commons-io.jar**:这两者用于文件上传功能,处理HTTP请求中的多部分数据。 10. **struts2-tiles-plugin.jar**(可选):如果使用Tiles模板技术,该插件提供集成支持。 在升级...
下面将详细介绍Struts2中文件上传和下载的实现方法。 ### 1. 文件上传 #### 1.1 配置Struts2 首先,我们需要在`struts.xml`配置文件中添加相关的拦截器,以便Struts2能够处理文件上传请求。通常,我们会使用`...
在Struts2框架中,实现文件上传主要依赖于表单的`enctype`属性设置为`multipart/form-data`。这种设置允许表单中的文件作为请求的一部分发送到服务器端。 **1.2 enctype详解** - **application/x-...
2. 文档管理:提供上传、下载、编辑、分享文档的功能,支持多种文件格式。 3. 工作流管理:定义和执行各种工作流程,如审批流程、任务分配等。 4. 通知公告:发布内部通知和公告,确保信息的及时传递。 5. 考勤管理...
本文将详细讲解Struts中实现文件上传和下载的基本原理、步骤以及相关知识点。 ### 1. 文件上传 #### 1.1 概念与原理 文件上传是指用户通过网页表单选择本地文件,并将其发送到服务器的过程。在Struts中,这通常...
Struts2利用这些库来提供文件上传、字符串操作、集合操作等功能。 4. **Struts2框架核心库**: 包含了struts2-core.jar,这个JAR文件包含了Struts2框架的核心组件,如ActionContext、ActionSupport、Interceptor等。...
### Struts2文件上传知识点详解 #### 一、概述 在Web应用开发中,文件上传是一项常见的需求。Struts2框架提供了便捷的方式来处理文件上传功能。本文将详细解析Struts2框架下的文件上传机制,包括所需的依赖库、...
3. **插件扩展性**:Struts 2支持丰富的插件体系,可以方便地扩展功能,如AJAX支持、JSON响应、文件上传下载等。 4. **模板技术**:Struts 2支持FreeMarker、JSP、Velocity等多种视图模板技术,方便开发者根据喜好...
本篇将基于一个具体的`struts`文件上传下载程序进行深入剖析,旨在帮助读者理解Struts在文件上传下载方面的实现原理及其具体应用。 #### 二、核心知识点解析 ##### 1. 文件上传实现机制 **1.1 文件上传处理类 `...
本篇文章将详细讲解两种实现Struts文件上传的方法: Commons-Fileupload 和 FileForm。 ### 1. Commons-Fileupload方式 Apache Commons FileUpload 是一个专门处理HTTP请求中多部分内容的库,非常适合用于文件上传...
首先,为了实现文件上传,我们需要在项目中添加两个关键的库:`commons-fileupload-1.1.1.jar` 和 `commons-io-1.1.jar`。这两个库提供了文件上传所需的底层支持。在你的 Web 项目的 `lib` 目录下添加这两个 JAR 包...
#### 四、使用Struts框架实现文件上传 如果项目使用了Struts框架,可以利用Struts提供的`FormFile`类来处理文件上传。这种方式更简洁且符合MVC设计模式。 ##### 1. 创建ActionForm ```java package ...
* 插件配置():用于配置struts应用程序的插件,例如文件上传插件。 二、struts-config.xml的子元素 * 图标配置():用于配置struts应用程序的图标,例如小图标和大图标。 * 显示名称配置():用于配置struts...
Struts 是一个开源的Java框架,主要用于...通过以上步骤,你可以在Struts框架下实现基本的文件上传和下载功能。这个小程序就是一个很好的起点,你可以根据实际需求调整代码,比如添加文件类型检查、错误处理机制等。
6. **源码学习价值**:对于学习者而言,这个源码提供了一个实际应用的参考,可以深入理解Struts1.1的拦截器、Action、Form Bean以及Hibernate的实体类、映射文件和Session工厂的用法。同时,通过阅读SQL Server的...
这些jar包一起构成了Struts 2的基础运行环境,让开发者能够快速构建基于MVC模型的Web应用,实现强大的功能,如表单验证、文件上传、国际化、Ajax支持等。通过合理配置Struts 2的配置文件,可以灵活控制请求处理流程...
9. **commons-fileupload.jar**:处理HTTP文件上传请求,常用于用户上传文件的场景。 10. **commons-io.jar**:Apache Commons IO库,提供了一些基本的文件操作功能。 11. **commons-lang3.jar**:Apache Commons ...
- **文件上传**:利用 Struts2 的 FileUploadInterceptor 实现文件上传功能。 - **文件下载**:可以通过 Action 的响应流来实现文件下载。 #### 五、Struts2 实践技巧与优化 **5.1 性能优化** - **减少 Action ...