文件上传

老Key 2009-07-27 10:04:12
那位兄弟说一下不用js在后台实现多个文件的上传啊??不是那样的带有填写几个new几个对象的,而是点击一下添加就出一个
fileuplode,谁能帮忙说下啊,谢谢啊
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老Key 2009-07-28
  • 打赏
  • 举报
回复
this.tbFiles.Rows.Clear();
程序报错说没有tbFiles,table是不可能了,因为table没法命名啊
cpp2017 2009-07-28
  • 打赏
  • 举报
回复
应该是个TABLE控件.
老Key 2009-07-28
  • 打赏
  • 举报
回复
请问这个字段是什么意思啊?tbFiles
老Key 2009-07-28
  • 打赏
  • 举报
回复
呵呵,知道了, 的确是个table,但是当第一个FileUpload输入路径之后,再点击添加按钮,第一个输入的路径就刷没了,能在帮忙解决这个问题吗?也是对你代码的完善,希望1楼能帮忙解决,不盛感激。。。。。。。。。。
wuyq11 2009-07-28
  • 打赏
  • 举报
回复
看看anyoffice,有JS多文件上传
wuyq11 2009-07-27
  • 打赏
  • 举报
回复
protected void btAddFile_Click(object sender, EventArgs e)
{
AddOneFileControl();
}

private void AddOneFileControl()
{
ArrayList al = new ArrayList();
this.tbFiles.Rows.Clear();
GetFileControlsFromSession();
HtmlTableRow htr = new HtmlTableRow();
HtmlTableCell htc = new HtmlTableCell();
htc.Controls.Add(new FileUpload());
htr.Controls.Add(htc);
this.tbFiles.Rows.Add(htr);
SaveCurrentPageFileControls();
}

private void GetFileControlsFromSession()
{
ArrayList al = new ArrayList();
if (Session["FilesControls"] != null)
{
al = (System.Collections.ArrayList)Session["FilesControls"];
for (int i = 0; i < al.Count; i++)
{
HtmlTableRow htr1 = new HtmlTableRow();
HtmlTableCell htc1 = new HtmlTableCell();
htc1.Controls.Add((System.Web.UI.WebControls.FileUpload)al[i]);
htr1.Controls.Add(htc1);
this.tbFiles.Rows.Add(htr1);
}
}
}


private void SaveCurrentPageFileControls()
{
ArrayList al = new ArrayList();
foreach (Control controlTR in this.tbFiles.Controls)
{
if (controlTR.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
{
HtmlTableCell htc = (HtmlTableCell)controlTR.Controls[0];
foreach (Control controlFileUpload in htc.Controls)
{
if (controlFileUpload.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
{
FileUpload tempFileUpload = (FileUpload)controlFileUpload;
al.Add(tempFileUpload);
}
}
}
}
Session.Add("FilesControls", al);
}

protected void btUpFiles_Click(object sender, EventArgs e)
{
UpLoadFiles();
}

private void UpLoadFiles()
{
string filepath = Server.MapPath("./")+"UploadFiles";

HttpFileCollection uploadedFiles = Request.Files;
for (int i = 0; i < uploadedFiles.Count; i++)
{
HttpPostedFile userPostedFile = uploadedFiles[i];
try
{
if (userPostedFile.ContentLength > 0 )
{
userPostedFile.SaveAs(filepath + "\\" + System.IO.Path.GetFileName(userPostedFile.FileName));
Response.Write("已上传文件: \"" + filepath +"\\"+ userPostedFile.FileName +"\"<br><br>" );
}
}
catch
{
Response.Write("上传文件: \"" + userPostedFile.FileName +"\"出错!");
}
}
if (Session["FilesControls"] != null)
{
Session.Remove("FilesControls");
}
}
js多文件上传可看看参考

62,074

社区成员

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

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

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

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