* 单文件上传:
        * 在动作类action中声明相关属性:
            * 在动作类action中,要声明与页面中表单name属性同名的属性,同名的属性的类型是File类型;
            * 在动作类action中,要声明[同名的属性]ContentType,类型是String类型;
            * 在动作类action中,要声明[同名的属性]FileName,类型是String类型
            * 给所有属性提供get和set方法
        * 在业务方法中,处理文件上传:
            * 获取要上传文件的路径,保存的位置
            * 在目标文件夹内,创建一个与上传文件同名的文件
            * 通过FileUtils工具类提供copyFile()方法,将临时文件内容拷贝到目标文件夹下的那个同名的文件
        * 设置上传文件的总大小
            * 在struts.xml文件中,<constant name="struts.multipart.maxSize" value="2097152000"></constant>
        * 设置上传文件的大小、类型和扩展名:
            * 在自定义的配置文件中,在action标签下:
                <!-- 配置拦截器的参数,这里是文件上传拦截器 -->
                <interceptor-ref name="defaultStack">
                      <!--
                          配置文件上传拦截器的参数
                              * 与定义参数的顺序无关
                              * 允许的类型(allowedTypes)和允许的扩展名(allowedExtensions)必须保持一致
                       -->
                      <!--
                          * 配置上传文件的大小
                              * struts.xml文件中配置的是上传文件的总大小
                              * 这里配置的是上传文件的单个大小
                       -->
                      <param name="fileUpload.maximumSize">20971520</param>
                      <!-- 配置上传文件允许的类型,如果配置多个值的话,用","隔开 -->
                      <param name="fileUpload.allowedTypes">text/plain,application/msword</param>
                      <!-- 配置上传文件的扩展名,如果配置多个值的话,用","隔开 -->
                      <param name="fileUpload.allowedExtensions">.txt</param>
                </interceptor-ref>
             * 自定义上传文件的错误提示信息:
                 * 在动作类action同目录下,创建一个名为fileuploadmessage.properties资源文件(名为自定义)
                 * 改资源文件配置如下:
                    struts.messages.error.uploading=Error uploading: {0}
                    struts.messages.error.file.too.large=File too large: {0} "{1}" "{2}" {3}
                    struts.messages.error.content.type.not.allowed=Content-Type not allowed: {0} "{1}" "{2}" {3}
                    struts.messages.error.file.extension.not.allowed=File extension not allowed: {0} "{1}" "{2}" {3}      
    * 多文件上传:
        * 所有流程于配置都与单文件上传一致。
        * 需要注意的是:
            * 在页面中,虽然是多文件上传,但是页面中表单的name属性的值必须保持一致;
            * 在动作类action中声明的相关属性,类型改成数组;
            * 在业务方法中,相关处理流程改成单文件上传的循环。

Struts学习之文件上传的更多相关文章

  1. MVC&WebForm对照学习:文件上传(以图片为例)

    原文  http://www.tuicool.com/articles/myM7fe 主题 HTMLMVC模式Asp.net 博客园::首页::  ::  ::  ::管理 5 Posts :: 0 ...

  2. Struts学习总结-04 上传文件

    1. upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&quo ...

  3. Struts学习总结-02 上传文件

    Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失. ...

  4. Struts 框架 之 文件上传下载案例

    Struts 框架 文件上传 1. 先准备 Struts 环境 (我使用的是struts 2.3.4版本) 导jar包:

  5. JavaWeb学习总结——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  6. Struts2学习总结——文件上传与下载

    Struts2文件上传与下载 1.1.1新建一个Maven项目(demo02) 在此添加Web构面以及 struts2 构面 1.2.1配置Maven依赖(pom.xml 文件) <?xml v ...

  7. Struts多个文件上传

    Struts2多个文件上传 10级学员 韩晓爽课堂笔记 多个文件上传分为List集合和数组,下面我们着重介绍一下list集合的上传.都大同小异. 一 介绍 1. 在struts2文件上传的时候要先导入 ...

  8. javaWeb学习总结——文件上传、下载

    目录 1.文件上传环境搭建 2.文件上传代码实现 3.关于下载 @ 嘿,熊dei,你不得不知道在Web开发中,文件上传和下载功能是非常常用的功能,关于文件上传,浏览器上传[文件以流的形式传输]--&g ...

  9. Spring MVC学习笔记——文件上传

    1.实现文件上传首先需要导入Apache的包,commons-fileupload-1.2.2.jar和commons-io-2.1.jar 实现上传就在add.jsp文件中修改表单 enctype= ...

随机推荐

  1. 使用Transaction访问数据库(C#,TransactionScope,.NET 2.0)

    针对SQL2005和.NET 2.0的事物机制有了新的突破传统数据库事物访问机制,代码如下:                   或者这种,其实都差不多                         ...

  2. 使用VNC完毕远程调用图形化

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  3. 使用Vitamio打造自己的Android万能播放器(1)——准备

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

  4. 在spring中进行基于Executor的任务调度

    Executor java.util.concurrent.Executor接口的主要目的是要将“任务提交”和“任务执行”两者分离解耦.该接口定义了任务提交的方法,实现者可以提供不同的任务运行机制,解 ...

  5. Check SMTP Server Availability for ORA-29278 or ORA-29279 errors using UTL_SMTP to Send Email

    Check SMTP Server Availability for ORA-29278 or ORA-29279 errors using UTL_SMTP to Send Email. (文档 I ...

  6. javascript原型链继承

    一.关于javascript原型的基本概念: prototype属性:每个函数都一个prototype属性,这个属性指向函数的原型对象.原型对象主要用于共享实例中所包含的的属性和方法. constru ...

  7. 为什么getline()后要两次回车????(将输入的字符串按单词倒序输出)

    #include<iostream>#include<string>#include<algorithm>using namespace std;int main( ...

  8. jQuery简单前端表单验证

    <!DOCTYPE html> <html> <head> <title>表单验证</title> <script src=" ...

  9. javascript事件小结(事件处理程序方式)--javascript高级程序设计笔记

    1.事件流:描述的是从页面中接收事件的顺序. 2.事件冒泡:IE的事件流叫做事件冒泡,即事件开始从具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到不具体的节点(文档). 3.事件捕获 ...

  10. 数据仓库(七):Oracle Warehouse Builder(OWB)创建数据仓库

    本文简述使用OWB创建数据仓库的一般过程.Oracle的OWB是目前最好的三大ETL产品之一.OWB不但可以可以完成数据的抽取.转换和加 载,还能帮助用户在Oracle数据库中创建ROLAP(Rela ...