zoukankan      html  css  js  c++  java
  • jfinal实现上传功能

    首先,jsp页面:由于设置enctype="multipart/form-data",所以form里面的input的值以2进制的方式传过去。

    <form id="form1" method="post" enctype="multipart/form-data" >

      <input type="file" id="upload" name="upload" />

      <input type = "button"  value = "保存" onclick="saveRequestFrom()" />

    </form>

    此处必须为表单提交!可以通过js实现,也可以直接通过sumbit按钮实现form表单的提交。

    <script language="javascript">

      function saveRequestFrom(){

        var form = document.getElementById("form1");

        form.action="<%=path%>/requestform/saveRequestFromInfo";

        form.submit();

      }

    </script>

    后台处理,也就是此例中saveRequestFromInfo方法中需要实现的是:

    String path_tmp = "";
    String uploadDir = File.separator + "upload" + File.separator + "contract" + File.separator;//保存路径,File.separator代表斜杠“”或者"/",根据情况而定。
    path_tmp = PathKit.getWebRootPath() + uploadDir;//PathKit.getWebRootPath() 为webroot路径
    UploadFile uploadFile = getFile("upload", path_tmp);//upload为前台页面需要上传的内容,path_tmp为以上拼接而成的文件存储路径

    其中,获取文件名为ploadFile.getFileName();
    获取保存路径为uploadFile.getSaveDirectory();

    需要注意的是,后台方法如果还需要从页面表单中接收其它值,那么需要首先执行上传操作,否则由于form里面的input的值以2进制的方式传过去,所以接收不到页面传来的数据。

  • 相关阅读:
    授权管理-LDAP-介绍与环境搭建
    Gerrit系统框架介绍
    代码托管-gerrit-介绍与环境搭建
    springMVC
    spring,springMVC,mybatis项目添加maven后报500错
    SSM项目引入文件失败
    spring与mybatis整合
    幂等问题本质和业务场景的解决方案
    spring boot logback无感配置
    sentinel与hystrix对比
  • 原文地址:https://www.cnblogs.com/jiangyy/p/3222914.html
Copyright © 2011-2022 走看看