* 单文件上传:
        * 在动作类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. [转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱 【转】

    在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Po ...

  2. uva 10051 Tower of Cubes(DAG最长路)

    题目连接:10051 - Tower of Cubes 题目大意:有n个正方体,从序号1~n, 对应的每个立方体的6个面分别有它的颜色(用数字给出),现在想要将立方体堆成塔,并且上面的立方体的序号要小 ...

  3. javaScript 工作必知(十) call apply bind

    call  每个func 都会继承call apply等方法. function print(mesage) { console.log(mesage); return mesage; } print ...

  4. 关于我和document.write那点不得不说的事

    一直用document.write()方法向浏览器中显示数据用,把它当做Alert()使用, 看来这样用有些大材小用了,下面说说它的主要用处. document.write()方法可以用在两个方面: ...

  5. 让ie支持placeholder属性,一段js搞定

    placeholder属性真的是超级好用的新属性,可惜,只有新版浏览器才支持,为了写出输入框贴心提示,老方法就是加span标签覆盖,营造出placeholder提示的感觉,现在安利一款好用的js,好用 ...

  6. 深入理解CSS3 Animation 帧动画(转)

    CSS3我在5年之前就有用了,包括公司项目都一直在很前沿的技术. 最近在写慕课网的七夕主题,用了大量的CSS3动画,但是真的沉淀下来仔细的去深入CSS3动画的各个属性发现还是很深的,这里就写下关于帧动 ...

  7. HTTP头信息(转)--2

    HTTP 头部解释 ========================================================================================== ...

  8. sql防注入代码

    function defend_sql($string, $force = 1) { $preg = "select|insert|and|or|update|delete|\'|\/\*| ...

  9. 扩展VirtualBox虚拟机磁盘容量

    1. 在cmd命令行下进入VirtualBox的安装目录,使用“VBoxManage list hdds”命令,找到需要修改磁盘容量的虚拟机的img路径或UUID: VirtualBox安装目录> ...

  10. php测试时不出现错误信息

    来源:http://blog.sina.com.cn/s/blog_6c9d65a101013vdj.html 在练习程序时,有时候写错了,在浏览器会打印出出错信息. 可我的程序始终没有出现. 我的环 ...