zoukankan      html  css  js  c++  java
  • struts2解决动态多文件上传的问题(上传文件与数据库字段一一对应)(转)

    struts2多文件上传我想只要会用struts2的朋友都不会陌生,但是怎么在action中根据用户上传的文 件把文件路径写到数据库中对应的字段上呢?ps:我的意思是这样,页面上有固定的5个上传文件的input,这5个文件都为可选项。如果这5个文件都上传 或者都不上传或者按顺序上传的话,数据库中这5个文件名都能和前台选择上传的文件的文件名对应;但是如果上传的是第1、3、5这三个文件,或者任意的几个 文件,数据库中记录的文件名是(前面的是数据库中字段名,后面是上传空间input的value)1-->1、2-->3、 3-->5、4-->null、5-->null,这样就会发生文件读取混乱错误。

    我在项目中是这样解决的:既然5个文件是固定的,那么我们就可以通过js来动态创建type为hidden的隐藏域,隐藏域的name和model层的属性名称对应,那么在后台就可以取得这五个文件的名称了。

     

    这个js文件绑定到上传控件的onchange事件上,当选择文件后创建一个hidden

     function changeFile(objectID){//上傳文件發生變化時執行  
                
                var o=$("#"+objectID);  
                  
                var filePath=o.val();//获取上传文件的在本地的绝对路劲  
                  
                var index=filePath.lastIndexOf("\\");//获取最后一个\在该绝对路径的坐标  
                  
                var fileLength=filePath.length;//获取绝对路劲的长度  
                  
                var fileName=filePath.substring(index+1,fileLength);//截取该绝对路径的文件名称,包括扩展名  
                alert(fileName);
                  
                $("#formID").append("<input type=\"hidden\" name=\"student."+objectID+"\" value=\""+fileName+"\">");  
            } 

        <input type="file" name="kmlFile"    id="viewkml" size="60" onchange="changeFile('viewkml')">

  • 相关阅读:
    校验参考相关备份
    API接口设计
    redis 基础配置
    Apollo 统一配置中心
    http返回状态码记录
    ngnix实战
    OAuth2三方授权
    OAuth2授权协议记录
    KMP算法
    分治法
  • 原文地址:https://www.cnblogs.com/yemaozistar/p/3603296.html
Copyright © 2011-2022 走看看