zoukankan      html  css  js  c++  java
  • jfinal form表单提交文件

    前台代码

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ include file="/commons/taglib.jsp" %>
    <%@ include file="/commons/common.jsp" %>
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'excelImp.jsp' starting page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
        <script type="text/javascript" src="${basePath}/js/sg/jquery-1.9.1.js"></script>
      </head>
      <body>
        <form id="file_form" action="${basePath }/excel/upload" enctype="multipart/form-data"
            method="post"  onsubmit="return validate()">
            <input type="file" name="file" id="file_input" /> 
            <input type="submit" value="文件上传" id='upFile-btn'>
        </form>
      </body>
      <script type="text/javascript">
         
         function validate(){
             var fileName = $("#file_input").val();
             if (fileName === "") {
                 alert("请选择文件");
                 return false;
             }
             var fileType = (fileName.substring(fileName
                     .lastIndexOf(".") + 1, fileName.length))
                     .toLowerCase();
             if (fileType !== "xls" && fileType !== "xlsx") {
                 alert("文件格式不正确,请选择excel文件!");
                 return false;
             }
    
             $("#file_form").ajaxSubmit({
                 dataType : "json",
                 success : function(data, textStatus) {
                     if (data.result === "OK") {
                         alert("上传文件成功");
                     } else {
                         alert("文件格式错误");
                     }
                     return false;
                 }
             });
             return true;
         }
        </script>
    
    </html>

    后台文件接收:

    public void upload(){  
            try {
    //            HttpServletRequest request = getRequest();  
    //            String basePath = request.getContextPath();   
                String ftype = getPara("ftype");
                System.out.println("数据类型:"+ftype);
                //存储路径  
                String path = getSession().getServletContext().getRealPath(Preference._PATH);  
                UploadFile file = getFile("file");  
                String fileName = "";  
                if(file.getFile().length() > 200*1024*1024) {  
                    System.out.println("文件长度超过限制,必须小于200M");  
                    setAttr("result", "文件长度超过限制,必须小于200M");  
                }else{
                    //上传文件
    //                String type = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 获取文件的后缀  
    //                fileName = System.currentTimeMillis() + type; // 对文件重命名取得的文件名+后缀  
    //                String dest = path + "/" + fileName;  //新的文件路径+文件名
    //                System.out.println("新的文件路径+文件名:"+dest);  
    //                file.getFile().renameTo(new File(dest));  
    //                //读取文件内容
    //                File filen = new File(dest);
                    List<String[]> list = POIUtil.readExcel(file.getFile());
                    for (int i = 0; i < list.size(); i++) {
                        String[] str = list.get(i);
                        
                        Db.use("db1").update("insert into ics_tasks (query, taskid, tname, ttype, btype) "
                                + "values ('"+str[0]+"','"+JavaUtil.getCRC32(str[0])+System.currentTimeMillis()+"','"+str[1]+"','"+str[2]+"','"+str[3]+"')");
                        
                    }
                    
    //                String realFile = basePath + "/" + Preference._PATH +  fileName;          
    //                String fname="/"+fileName;
    //                setAttr("fname", fname);  
    //                setAttr("url", realFile);  
                    
                    setAttr("result", "OK");  
                }
            } catch (Exception e) {
                e.printStackTrace();
                setAttr("result", e.getMessage());  
            }  
                  
            renderJson();  
        }  

    参考:http://blog.csdn.net/the_first_c/article/details/72868119

  • 相关阅读:
    RESTFUL API 安全设计指南
    智能设备逆向工程之外部Flash读取与分析篇
    物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探
    linux&win7双系统安装
    智能设备只依托加速度感应计算距离是否可行?
    解决T400T500W500等安装win10驱动后黑屏问题
    TCP连接的状态与关闭方式及其对Server与Client的影响
    轻松解决Linux安装Eclipse方法
    京东实习面试
    北森云面试
  • 原文地址:https://www.cnblogs.com/learningJAVA/p/7495819.html
Copyright © 2011-2022 走看看