Asp.net中动态添加多个文件上传

Asp.net动态添加附件上传2008年04月22日 星期二 下午 06:19两种方式: 1、如果页面中form指定了enctype="multipart/form-data" 属性则可以无file服务器控件 2、如果页面上有初始的file服务器控件(必须有runat="server"标志)可以无enctype="multipart/form-data"属性,但是这个页面上必须至少有一个runat="server"的file控件,否则后台接收不到Request.Files。 <%@ Page language="c#" Codebehind="MultiAttchments.aspx.cs" AutoEventWireup="false" Inherits="WebApplication3.MultiAttchments" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML>         <HEAD>               <script>               function AddAttachments()               {                     document.getElementById('attach').innerText = "继续添加附件";                                          tb = document.getElementById('attAchments');                                          newRow = tb.insertRow();                     newRow.insertCell().innerHTML = "<input name='File' size='50' type='file'>&nbsp;&nbsp;<input type=button value='删除' οnclick='delFile(this.parentElement.parentElement.rowIndex)'>";               }               function delFile(index)               {                     document.getElementById('attAchments').deleteRow(index);                     tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加附件":document.getElementById('attach').innerText = "添加附件";               }               </script>         </HEAD>         <body MS_POSITIONING="GridLayout">               <form id="form1" method="post" runat="server" enctype="multipart/form-data">               <div><table id="attAchments"></table></div><span><IMG src="icoAddFl.gif"> </span> <A id="attach" style="font-family:宋体;font-size:9pt;" title="如果您要发送多个附件,您只需多次点击“继续添加附件”即可, 要注意附件总量不能超过发送限制的大小。" οnclick="AddAttachments();"                           href="javascript:;" name="attach">添加附件</A>                     <br><br><br><br><br><br>                     <asp:Button id="btnSend" runat="server" Text=" 上传 "></asp:Button>               </form>         </body></HTML> private void btnSend_Click(object sender, System.EventArgs e){         StringBuilder sb = new StringBuilder();                                  int attCount = 0;         string filePath = "";               for(int i=0; i< Request.Files.Count; i++)               {                     if(Request.Files[i].ContentLength > 0)                     {                           filePath = Request.Files[i].FileName;                           sb.Append("Files" + attCount++ + ": " + filePath + "<br>");                           Request.Files[0].SaveAs(Server.MapPath("./") + filePath.Substring(filePath.LastIndexOf("//")+1));                     }               }                     sb.Insert(0, "you upload " + attCount + " files.<br>");         Response.Write(sb.ToString());} 注意对于超出默认大小的文件需修改配置文件 <configuration>         <system.web>               <httpRuntime   maxRequestLength="10000"                       useFullyQualifiedRedirectUrl="true"                       executionTimeout="45"/>           </system.web> </configuration> 需要将machine.config或web.config中的<httpRuntime>   section的maxRequestLength值作相应的修改.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值