多文件上传

来源:互联网 发布:海马玩软件下载 编辑:程序博客网 时间:2024/05/15 03:42
  1. c# 版本 
  2.   upload.aspx
  3. <%@ Page language="c#" Codebehind="UpLoad.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.Upload" %>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  5. <HTML>
  6. <HEAD>
  7. <title>多文件上传</title>
  8. <s cript language="Javas cript">
  9. function addFile()
  10. {
  11. var str = '<INPUT type="file" size="50" NAME="File">'
  12. document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
  13. }
  14. </s cript>
  15. </HEAD>
  16. <body>
  17. <form id="form1" method="post" runat="server" enctype="multipart/form-data">
  18. <div align="center">
  19. <h3>多文件上传</h3>
  20. <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
  21. <P>
  22. <input type="button" value="增加(Add)" onclick="addFile()">
  23. <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
  24. <asp:Button Runat="server" Text="开始上传" ID="UploadButton"></asp:Button>
  25. </P>
  26. <P>
  27. <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" 
  28. Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
  29. </P> 
  30. </div>
  31. </form>
  32. </body>
  33. </HTML>
  34.   upload.aspx.cs
  35. using System;
  36. using System.Collections;
  37. using System.ComponentModel;
  38. using System.Data;
  39. using System.Drawing;
  40. using System.Web;
  41. using System.Web.SessionState;
  42. using System.Web.UI;
  43. using System.Web.UI.WebControls;
  44. using System.Web.UI.HtmlControls;
  45. namespace WebPortal
  46. {
  47. /// <summary>
  48. /// UpLoad 的摘要说明。
  49. /// 实现多文件上传
  50. /// </summary>
  51. public class Upload : System.Web.UI.Page
  52. {
  53. protected System.Web.UI.WebControls.Button UploadButton;
  54. protected System.Web.UI.WebControls.Label strStatus;
  55. private void Page_Load(object sender, System.EventArgs e)
  56. {
  57. /// 在此处放置用户代码以初始化页面
  58. if (this.IsPostBack) this.SaveImages();
  59. }
  60. private Boolean SaveImages()
  61. {
  62. ///'遍历File表单元素
  63. HttpFileCollection files = HttpContext.Current.Request.Files;
  64. /// '状态信息
  65. System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
  66. strMsg.Append("上传的文件分别是:<hr color=red>");
  67. try
  68. {
  69. for(int iFile = 0; iFile < files.Count; iFile++)
  70. {
  71. ///'检查文件扩展名字
  72. HttpPostedFile postedFile = files[iFile];
  73. string fileName, fileExtension;
  74. fileName = System.IO.Path.GetFileName(postedFile.FileName);
  75. if (fileName != "")
  76. {
  77. fileExtension = System.IO.Path.GetExtension(fileName);
  78. strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
  79. strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
  80. strMsg.Append("上传文件的文件名:" + fileName + "<br>");
  81. strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
  82. ///'可根据扩展名字的不同保存到不同的文件夹
  83. ///注意:可能要修改你的文件夹的匿名写入权限。
  84. postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
  85. }
  86. }
  87. strStatus.Text = strMsg.ToString();
  88. return true;
  89. }
  90. catch(System.Exception Ex)
  91. {
  92. strStatus.Text = Ex.Message;
  93. return false;
  94. }
  95. }
  96. #region Web 窗体设计器生成的代码
  97. override protected void OnInit(EventArgs e)
  98. {
  99. //
  100. // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  101. //
  102. InitializeComponent();
  103. base.OnInit(e);
  104. }
  105. /// <summary>
  106. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  107. /// 此方法的内容。
  108. /// </summary>
  109. private void InitializeComponent()
  110. this.ID = "Upload";
  111. this.Load += new System.EventHandler(this.Page_Load);
  112. }
  113. #endregion
  114. }
  115. }