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

       

      --示例:

     

  • 相关阅读:
    java 多线程小记
    Java通过反射实现实例化
    selenium webdriver 屏幕滚动
    selenium webdriver 实现百度贴吧自动签到
    selenium webdriver 小计
    JaveWeb 公司项目(7)----- 通过JS动态生成DIV
    两个DIV并排显示
    Intellij idea注册码失效
    JaveWeb 公司项目(6)----- 通过ToolTip给控件添加动态注释
    Intellij idea 添加浏览器
  • 原文地址:https://www.cnblogs.com/tengtao93/p/5142167.html
Copyright © 2011-2022 走看看