zoukankan      html  css  js  c++  java
  • struts2--文件上传与下载

    1、文件上传:

      --表单准备:

        > 需把HTML表单的enctype属性设置为multipart/form-data;

        > 需把HTML表单的method属性设置为post

        > 需添加<input type=”file”> 字段;

      --struts2中,FileUpload拦截器和Jakarta Commons FileUpload组件可以完成文件的上传;

        > 1) Jsp页面使用file标签,如果需要一次上传多个文件,就必须使用多个file标签,并且他们的name必须相同(也可以使用list)

        > 2) Action中添加三个和文件上传相关的属性

          ①private File fieldName;

          ②private String fieldNameContentType;

          ③private String fieldNameFileName;

      --上传多个文件:

        > Action类中的三个属性修改为List类型即可(List<File>);

      --对上传文件进行限制(扩展名、大小等):

        > 通过配置FileUploadInterceptor拦截器的参数来进行限制;

          1) maximumSize--允许文件大小最大值,默认为2M

          2) allowedTypes--允许上传文件的类型,使用 分隔;

          3) allowedExtensions--允许的扩展名,使用 分隔;

        > 定制错误消息,在资源文件中定义如下key/value:

          1) Struts.messages.error.uploading--文件出错

          2) struts.messages.error.file.too.large--文件超过限定大小

          3) struts.messages.error.content.type.not.allowed--文件内容类型不符

          4) struts.messages.error.file.extension.not.allowed--文件扩展名不符

    2、文件下载:

      --struts2为文件下载提供了一种Stream结果类型,使用时不必准备一个Jsp也没页面;

      --Stream结果类型的参数设置:

        > contentType:被下载的文件的MIME类型,默认为text/plain

        > contentLength:大小,以字节为单位

        > contentDisposition:响应头,默认值为inline

        > inputName:Action中提供的文件的输入流,默认为inputStream

        > bufferSize:文件下载时缓冲区大小,默认为1024B

        > allowCaching:文件下载是是否允许使用缓存,默认为true

        > contentCharSet:下载文件时的字符编码;

      --Steam结果类型的参数可以在Action以属性的方式覆盖;

       

      --示例:

     

  • 相关阅读:
    Hash详解
    手写2048
    20180429模拟赛T1——添边问题
    题解:UVA1025 A Spy in the Metro
    20180418模拟赛T2——Gym
    20180418模拟赛T1——Seq
    学习:中国剩余定理
    20180414模拟赛T2——拼图
    20180414模拟赛T1——BEAD
    学习:树状数组
  • 原文地址:https://www.cnblogs.com/tengtao93/p/5142167.html
Copyright © 2011-2022 走看看