zoukankan      html  css  js  c++  java
  • Struts(四)之文件上传、下载

      一、文件的上传(拦截器)

      1.1、文件上传的条件   

        表单method必须是post;
        enctype取值必须是multipart/form-data;
        提供文件选择域。

      1.2、文件上传的例子

        upload1.jsp

        

        struts.xml的配置编写

        

      动作类编写

      

        测试:

        

      记得去tomcat的发布目录下查找上传的文件

      

      1.3、文件上传的配置

        1.3.1、文件上传的大小限制(2M)  

        从default.properties文件中

        如果超过了默认的大小,upload拦截器就会转向一个input的逻辑视图

        如果没有在struts.xml中配置则会出现

        

        在action中配置了<result type="input">/upload.jsp</result>

         

        超过了上传的文件大小:

        

        1.3.2、改变文件上传大小的限制

          在struts.xml中改变struts.properties文件中的常量 

          

        1.3.3、限制文件上传类型

            1.通过限制文件的扩展名

            怎么限制?通过给fileupload拦截器注入参数

            

            当你在upload.jsp中选择的是txt文件时

              

          2.通过限制文件上传的MIME类型

          

          当你上传了非限定的MIME类型时,有如下错误提示

          

        1.3.4、出错后的错误信息中文提示(Struts2中的所有文件都是基于国际化的)

          默认信息提示在:struts2-core.jarorg.apache.struts2struts-message.properties

            

          解决办法:用国际化消息资源包,把对应的key取值改为中文即可。

          常用的Key值:

          

          

      1.4多文件上传

        jsp

        

        struts.xml

        

        动作类中

        

        测试:

          

          

      二、文件下载

        就是一种结果类型(Stream)

        1、文件下载的例子

          创建一个download的动作类

          

          在struts.xml中配置

          

      

        

          

       

  • 相关阅读:
    编译FreePascal和Lazarus
    QTreeView使用点点滴滴
    刨根问底儿 -- intVal($str) 跟 (int) $str 的运算结果有什么区别
    Qt源代码分析
    QString够绕的,分为存储(编译器)和解码(运行期),还有VS编译器的自作主张,还有QT5的变化
    C++静态变量本身可否是一个实例对象
    QT4.86写中文XML
    点击TButton后的执行OnClick和OnMouseDown两个事件的过程(其实是通过WM_COMMAND执行程序员的代码)
    Hibernate3.0中的session.find()问题
    曲线控件我一直用codeproject上的那几个(C++ 100款开源界面库)
  • 原文地址:https://www.cnblogs.com/cxyzyh2017/p/6628055.html
Copyright © 2011-2022 走看看