帮忙看下 关于动态文件上传

RainyTooo 2006-11-16 08:49:30
我有一个功能想实现获取多文件的属性 文件的数量不定
一开始我用Apache的FormFile和Struts的nest标签实现了这个功能 但是问题是我只需要获取文件的name和size
但是form在提交以后一定会编码的 所以文件大的时候这样就不行了

后来我想用Javascript来把文件的name和size填入隐藏的input里 提交的时候 就可以只获取到文件的属性了 于是我就照这个思路在自己试着写代码
但是不知道哪里有问题 始终没有通过 弄了一天了都没有解决 我JS不好想请大家帮我看下

# <html>
# <head>
# <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
# <title>JS Test</title>
# </head>
# <script type="text/javascript">
# var count = 0;
# function Addfile(){
# count += 1;
# var nextc = count-1;
# var File1 = document.getElementById("File1");
# var div = document.createElement("div");
# var countTxt = document.createTextNode("");
#
# var inputTxt = document.createElement("input");
# inputTxt.type = "file";
# inputTxt.name = "uploadFile["+count+"].file";
# inputTxt.onchange=function(){
# var str=this.name.toString();
# var strstr1=str.slice(0, str.indexOf(".")+1)+"filename";
# var strstr2=str.slice(0, str.indexOf(".")+1)+"filesize";
# alert(str1);
# alert(str2);
#
# var thisform=document.forms["addpackageForm"];
# alert(thisform.name);
# var ul=this.value;
#
# var inputtext1=thisform.elements[str1];
# var inputtext2=thisform.elements[str2];
# alert(inputtext1.name);
#
# var fso = new ActiveXObject("Scripting.FileSystemObject");
# var f1 = fso.GetFile(ul);
# inputtext1.value=f1.name;
# inputtext2.value=f1.size;
# }
#
#
#
# var inputTxt2 = document.createElement("input");
# inputTxt2.type = "text";
# inputTxt2.name = "uploadFile["+count+"].filename";
#
# var inputTxt3 = document.createElement("input");
# inputTxt3.type = "text";
# inputTxt3.name = "uploadFile["+count+"].filesize";
#
#
# var btn = document.createElement("input");
# btn.type = "button";
# btn.value = "取消";
# btn.onclick = function(){
# this.parentNode.parentNode.removeChild(this.parentNode);
# var str = File1.innerHTML;
# var re = /[^<]+/i;
# var n = File1.getElementsByTagName("div");
# for(var k=0;k<n.length;k++){
# n[k].innerHTML = n[k].innerHTML.replace();
# n[k].getElementsByTagName("input").item(1).onclick = this.onclick;
# }
# count -= 1;
#
# }
#
# div.appendChild(countTxt);
# div.appendChild(inputTxt);
# div.appendChild(inputTxt2);
# div.appendChild(inputTxt3);
# div.appendChild(btn);
# File1.appendChild(div);
# }
#
# </script>
#
# <script type="text/javascript">
# function test(inputname){
#
# var str=inputname.toString();
# var strstr1=str.slice(0, str.indexOf(".")+1)+"filename";
# var strstr2=str.slice(0, str.indexOf(".")+1)+"filesize";
#
#
# var thisform=document.forms["addpackageForm"];
# var inputfile=thisform.elements[inputname];
# var ul=inputfile.value;
#
# var inputtext1=thisform.elements[str1];
# var inputtext2=thisform.elements[str2];
#
#
# var fso = new ActiveXObject("Scripting.FileSystemObject");
# var f1 = fso.GetFile(ul);
# inputtext1.value=f1.name;
# inputtext2.value=f1.size;
# }
# </script>
# <body>
# <form name="addpackageForm" method="post" action="/datahunt/addpackage.do;jsessionid=42A99092BD0D06939CAAD30B2A763DC6" enctype="multipart/form-data">
# <table>
# <tr>
# <td width="150">
# file :
# </td>
# <td width="150">
# <input name="添加" type="button" value="添加" onClick="Addfile()"/>
#
#
# <input type="file" name="uploadFile[0].file" value="" onchange="test(this.name)">
# <input type="text" name="uploadFile[0].filename" value="">
# <input type="text" name="uploadFile[0].filesize" value="">
#
# <div id="File1"></div>
#
# </td>
# </tr>
# </table>
# </form>
# </body>
# </html>
...全文
180 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧