如何实现多个文件的上传

Charlie_Peng 2013-03-11 03:39:51
一般怎么实现,后台怎么反馈进度给前端以实现进度条的功能。
讲讲实现原理~

我现在的方法:渣到不行 抛砖引玉吧

html:

<table id="imageUploadtable">
<tr>
<td><a onclick="addFile()" style="cursor:pointer">点击添加文件</a></td>
</tr>
<tr id="tr_file0">
<td>证件类型:</td>
<td><select id="documenttype0" name="documenttype0"></select> </td>
<td><input type="file" id="file0" name="file0"/><span id="span_file0"></span><span id="del_file0"></span></td>
</tr>
</table>
JS:

var __FILE_INDEX =0;
function addFile() {
++__FILE_INDEX;
var fileId = "file" + __FILE_INDEX;
var uploadTable = document.getElementById("imageUploadtable")
var trElement = uploadTable.insertRow(-1);
trElement.id = "tr_" + fileId;
var tdElement = trElement.insertCell(-1);
tdElement.id = "td_" + fileId;
tdElement.innerHTML = "<input type='file' name='" + fileId + "' id='" + fileId + "' size='30' style='padding-left:5px;width:300px;cursor:pointer;' >"
+ "<span id='span_" + fileId + "'></span>"
+ "<span id='del_" + fileId + "'></span>";
var lasttrid = "file" + (__FILE_INDEX-1).toString();

document.getElementById("del_" + lasttrid).innerHTML = "<span title='删除文件' onclick='deleteFile(\"" + lasttrid + "\")' style='font-size:12px;color: #4684b2;cursor:pointer;border-bottom:1px solid #4684b2'>删除</span>";
}

function deleteFile(fileId) {
var trNode = document.getElementById("tr_" + fileId);
var trParent = trNode.parentNode;
trParent.removeChild(trNode);
}



C#:
for (int i = 0; i < Request.Files.Count; i++)
{
if (Request.Files[i] != null)
{
HttpPostedFile filePost = Request.Files[i];
string filename = filePost.FileName;
Random rd = new Random();
filename = filename.Substring(filename.LastIndexOf('\\') + 1);
string savePath = Server.MapPath("UpLoadFile/" + rd.Next() + filename);
filePost.SaveAs(savePath);

}
}

一个下拉框跟一个file控件如何对应起来,
request.File[i]索引是按何种顺序索引的?是按前台的html的顺序吗?

...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
md5e 2013-03-11
  • 打赏
  • 举报
回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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