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>
  • 相关阅读:
    numpy模块之axis(转)
    使用lxml解析HTML代码
    关于Python中的可变对象与不可变对象的区别(转)
    python线程(转)
    SSTI模板注入
    逆向与反汇编实战(一)--PEiD分析复现
    二进制各种漏洞原理实战分析总结
    认识二进制安全与漏洞攻防技术 (Windows平台)
    CSRF 漏洞
    逻辑漏洞之越权漏洞的三种越权思路|burpsuite逻辑漏洞测试一
  • 原文地址:https://www.cnblogs.com/cuibin/p/6751800.html
Copyright © 2011-2022 走看看