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以属性的方式覆盖;

       

      --示例:

     

  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/tengtao93/p/5142167.html
Copyright © 2011-2022 走看看