日期:2014-05-18  浏览次数:20351 次

动态添加上传多个文件怎么搞????
动态添加上传多个文件怎么搞????
有点象网易邮件附件上传那种。。。。。。

------解决方案--------------------
跟上传一个文件是一样的

你页面上当多个FILEUPLOAD或者 INPUT TYPE=FILE
然后根据POSTEDFILE的文件名或文件长度判断是否有文件选择
把有文件的文件保存就是了
------解决方案--------------------
aspx代码:
<script>
function addAttach(divAreaId)
{
var objDiv = $(divAreaId);

var objNew = document.createElement( "label ");

var btnDel = document.createElement( "input ");
btnDel.setAttribute( "type ", "button ");
btnDel.setAttribute( "value ", "Delete ");
var _strClick = "delAttach(this, ' " + divAreaId + " ') ";
btnDel.setAttribute( "onclick ",_strClick);
btnDel.style.height = "22px ";

objNew.innerHTML = " <input type= 'file ' name= 'file ' size= '30 ' style= 'height:22px; ' onKeyDown= 'return false; ' /> ";
objNew.appendChild(btnDel);
objNew.innerHTML = objNew.innerHTML + " <br /> ";

objDiv.appendChild(objNew);
}
</script>
<form id= "form1 " runat= "server " Enctype = "multipart/form-data ">
<div id= "divUploadImage ">
</div>
<input onclick= "addAttach( 'divUploadImage ') " type= "button " value= "Add file " />
</form>

ASPX.CSd代码
HttpFileCollection files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile file = files[i] as HttpPostedFile;
file.SaveAs( "文件路径 ");
}
------解决方案--------------------
还有段JS函数,忘了贴
function delAttach(obj,divAreaId)
{
var objParent = $(divAreaId);
objParent.removeChild(obj.parentNode);
}
------解决方案--------------------
4楼正解
------解决方案--------------------
那样子还需设置form属性:enctype= "multipart/form-data "