實現ASP.NET多文件上傳示例(不用第三方插件)

不用第三方插件,實現多文件上傳:

aspx文件關鍵代碼:

  1. <form id="form1" runat="server">  
  2. 請選擇上傳的文件:<br />  
  3. <asp:FileUpload ID="FileUpload1" runat="server" /><br />  
  4. <br />  
  5. <asp:FileUpload ID="FileUpload2" runat="server" /><br />  
  6. <br />  
  7. <asp:FileUpload ID="FileUpload3" runat="server" /><br />  
  8. <br />  
  9. <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />  
  10. <asp:Literal ID="LiteralScript" runat="server" EnableViewState="false"></asp:Literal>  
  11. </form>  
	<form id="form1" runat="server">
	請選擇上傳的文件:<br />
	<asp:FileUpload ID="FileUpload1" runat="server" /><br />
	<br />
	<asp:FileUpload ID="FileUpload2" runat="server" /><br />
	<br />
	<asp:FileUpload ID="FileUpload3" runat="server" /><br />
	<br />
	<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
	<asp:Literal ID="LiteralScript" runat="server" EnableViewState="false"></asp:Literal>
	</form>


aspx.cs文件關鍵代碼:

  1. protected void Button1_Click(object sender, EventArgs e)  
  2. {  
  3.     HttpFileCollection files = Request.Files;  
  4.     for (int i = 0; i < files.Count; i++)  
  5.     {  
  6.         if (files[i].ContentLength == 0)  
  7.         {  
  8.             LiteralScript.Text = "<script>alert('請選擇文件!')</script>";  
  9.             return;  
  10.         }  
  11.     }  
  12.     for (int i = 0; i < files.Count; i++)  
  13.     {  
  14.         if (files[i].ContentLength > 0)  
  15.             files[i].SaveAs(Server.MapPath("~/") + Path.GetFileName(files[i].FileName));  
  16.     }  
  17. }  
	protected void Button1_Click(object sender, EventArgs e)
	{
		HttpFileCollection files = Request.Files;
		for (int i = 0; i < files.Count; i++)
		{
			if (files[i].ContentLength == 0)
			{
				LiteralScript.Text = "<script>alert('請選擇文件!')</script>";
				return;
			}
		}
		for (int i = 0; i < files.Count; i++)
		{
			if (files[i].ContentLength > 0)
				files[i].SaveAs(Server.MapPath("~/") + Path.GetFileName(files[i].FileName));
		}
	}


示例用的是多個FileUpload控件,也可以使用HtmlInputFile控件或直接使用靜態file表單元素。

 

 

 

string[] str = new string[4];
//獲取HttpFileCollection對象
HttpFileCollection fileList = System.Web.HttpContext.Current.Request.Files;
for (int i = 0; i < str.length; i++)
{
System.Web.HttpPostedFile postedFile = fileList[i];
string fileName = postedFile.FileName;
if (fileName != string.Empty)
{
string size = postedFile.ContentLength.ToString();   
if (int.Parse(size) >= 332422812) //判斷上傳片的大小
{
return ;
}
else
{
string Imagetype = fileName.Substring(fileName.LastIndexOf("."));    //圖片類型
if (Imagetype == ".jpg" || Imagetype == ".bmp" || Imagetype == ".gif" || Imagetype == ".png" || Imagetype == ".jpeg")
{
string root = Server.MapPath("~/images/uploads/Media/bigImg/");  //圖片保存路徑
string proName = "";
string proNameNew = "";
string filePathOld = "";       //原圖片路徑
string filePathNew = "";      //新圖片路徑

filePathOld = root + strl[i];   
if (File.Exists(filePathOld))
{
proNameNew = DateTime.Now.ToString("yyyyMMddhhmmss") + strl[i];
File.Move(filePathOld, (root + proNameNew));      //將原圖片重新命名
}
proName = "My"+Imagetype;        //新圖片名
filePathNew = root + proName;
postedFile.SaveAs(filePathNew);
strl[i] = proName;       //存儲圖片新名稱
}
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章