zoukankan      html  css  js  c++  java
  • struts2文件上传问题

    上传表单页面的要求:

    第一个要求:表单提交方式 post

    第二个要求:form标签里面有属性 enctype属性值 修改为 multipart/form-data

    第三个要求:在表单里面有文件上传项,有name属性 <input type= “file” name=“”/>

    在action直接得到上传文件名称和上传文件

    - 在action定义成员变量,生成变量set和get方法:

     1 private File upload;
     2     private String uploadFileName;
     3     public File getUpload() {
     4         return upload;
     5     }
     6     public void setUpload(File upload) {
     7         this.upload = upload;
     8     }
     9     public String getUploadFileName() {
    10         return uploadFileName;
    11     }
    12     public void setUploadFileName(String uploadFileName) {
    13         this.uploadFileName = uploadFileName;
    14     }

    在具体的action的方法里面写上传逻辑

    - 在服务器里面创建文件

    - 把本地文件复制到服务器文件里面

    1 if(upload != null){
    2             //在服务器文件夹里面创建文件
    3             File serverFile = new File("F:\sshimg"+"/"+uploadFileName);
    4             //把文件上传复制到服务器里面
    5             FileUtils.copyFile(upload, serverFile);
    6         }

    问题:

    如果上传文件超过2M,出现异常

    (1)使用struts2做文件上传文件大小默认有限制的,默认 2M

    (2)可以设置上传文件大小

    - struts2里面有常量

    1 <constant name="struts.multipart.maxSize" value="209715200"></constant>

     input是struts2里面错误处理机制,如果上传文件超过设置的大小之后,自动返回结果,结果名称是 input

    - 解决:配置input结果,到错误页面、

    1 <result name="input">/jsp/error.jsp</result>
  • 相关阅读:
    前端安全之XSS攻击
    从JavaScript执行上下文理解变量提升
    em、rem和px的区别
    纯CSS实现幻灯片效果
    小白在使用ISE编写verilog代码综合时犯得错误及我自己的解决办法
    结构体指针中的一点困惑
    xilinx fpga中块ram的使用——简单双端口ram的使用
    在模块中如何去写输出标志位的程序
    学习感悟
    xilinx fpga 生成3*3窗口
  • 原文地址:https://www.cnblogs.com/cuibin/p/6751800.html
Copyright © 2011-2022 走看看