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')">

  • 相关阅读:
    c语言结构体数组引用
    c语言结构体数组定义的三种方式
    如何为SAP WebIDE开发扩展(Extension),并部署到SAP云平台上
    SAP SRM ABAP Webdynpro和CFCA usb key集成的一个原型开发
    使用SAP API portal进行SAP SuccessFactors的API测试
    SAP UI5应用里的页面路由处理
    在SAP WebIDE Database Explorer里操作hdi实例
    如何使用SAP事务码SAT进行UI应用的性能分析
    使用SAP WebIDE进行SAP Cloud Platform Business Application开发
    SAP CRM WebClient UI ON_NEW_FOCUS的用途
  • 原文地址:https://www.cnblogs.com/yemaozistar/p/3603296.html
Copyright © 2011-2022 走看看