麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

asp.net fileupload控件上傳文件與多文件上傳

2024-07-10 13:28:34
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了asp.net fileupload控件上傳文件的方法,fileupload控件多文件上傳,以及fileupload上傳時實現文件驗證的方法,需要的朋友可以參考下

1、前臺文件 Default.aspx:

  1. <%@ Page Language="C#" AutoEventWireup="true"CodeFile="Default.aspx.cs" Inherits="_Default" %> 
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml" > 
  4. <head runat="server"
  5. <title>asp.net fileupload控件上傳文件_www.companysz.com</title> 
  6. </head> 
  7. <body> 
  8. <form id="form1" runat="server"
  9. <asp:FileUpload ID="FileUpload1" runat="server" /> 
  10. <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
  11. <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1" 
  12. ErrorMessage="必須是 jpg或者gif文件" ValidationExpression="^(([a-zA-Z]:)|(//{2}/W+)/$?)(//(/W[/W].*))+(.jpg|.Jpg|.gif|.Gif)$"></asp:RegularExpressionValidator> 
  13. </form> 
  14. </body> 
  15. </html> 


2、后端代碼 Default.aspx.cs:

  1. using System; 
  2. using System.Data; 
  3. using System.Configuration; 
  4. using System.Web; 
  5. using System.Web.Security; 
  6. using System.Web.UI; 
  7. using System.Web.UI.WebControls; 
  8. using System.Web.UI.WebControls.WebParts; 
  9. using System.Web.UI.HtmlControls; 
  10. public partial class _Default : System.Web.UI.Page  
  11. protected void Page_Load(object sender, EventArgs e) 
  12. protected void Button1_Click(object sender, EventArgs e) 
  13. String savePath = @"F:/111/"
  14. if (FileUpload1.HasFile) 
  15. String filename; 
  16. filename = FileUpload1.FileName; 
  17. savePath +=filename; 
  18. FileUpload1.SaveAs(savePath); 
  19. Page.Response.Write(FileUpload1.PostedFile.ContentType + FileUpload1.PostedFile.ContentLength+"<br>"); 
  20. Page.Response.Write("<img src='"+savePath+"'>"); 
  21. else 
  22. Page.Response.Write("fff"); 


去掉綠色部分就可上傳任何文件,它是用一個正則表達式來驗證上傳文件的類型

在ASP.NET 2.0中使用FileUpload服務器控件很容易的就能將文件上傳到服務器。

1、aspx文件代碼

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="fileupload.aspx.cs" Inherits="fileupload" %> 
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml" > 
  4. <head runat="server"
  5. <title>FileUpload上傳文件示例-vevb.com</title> 
  6. </head> 
  7. <body> 
  8. <form id="form1" runat="server"
  9. <div> 
  10. <asp:FileUpload ID="FileUpload1" runat="server" /> 
  11. <asp:Button ID="Button1" runat="server" _disibledevent="Button1_Click" Text="上傳文件" /><br /> 
  12. <asp:Label ID="Label1" runat="server" Height="269px" Text="Label" Width="360px"></asp:Label></div> 
  13. </form> 
  14. </body> 
  15. </html> 


2、后端代碼 aspx.cs:

  1. protected void Button1_Click(object sender, EventArgs e) 
  2. if (FileUpload1.HasFile) 
  3. try 
  4. FileUpload1.SaveAs(Server.MapPath("upload") + "//" + FileUpload1.FileName); 
  5. Label1.Text = "客戶端路徑:" + FileUpload1.PostedFile.FileName + "<br>" + 
  6. "文件名:" + System.IO.Path.GetFileName(FileUpload1.FileName) + "<br>" + 
  7. "文件擴展名:" + System.IO.Path.GetExtension(FileUpload1.FileName) + "<br>" + 
  8. "文件大小:" + FileUpload1.PostedFile.ContentLength + " KB<br>" +  
  9. "文件MIME類型:" + FileUpload1.PostedFile.ContentType + "<br>" + 
  10. "保存路徑:" + Server.MapPath("upload") + "//" + FileUpload1.FileName; 
  11. catch (Exception ex) 
  12. Label1.Text = "發生錯誤:" + ex.Message.ToString(); 
  13. else 
  14. Label1.Text = "沒有選擇要上傳的文件!"


1、asp.net fileupload多文件上傳的例子

使用fileupload實現多文件上傳,可以像傳單個文件那樣對每個文件單獨進行處理,除此之外,還可以使用HttpFileCollection類捕獲從Request對象發送來的所有文件,然后再單獨對每個文件進行處理。

后端代碼 aspx.cs:

  1. protected void Button1_Click(object sender, EventArgs e) 
  2. string filepath = Server.MapPath("upload") + "//"
  3. HttpFileCollection uploadFiles = Request.Files; 
  4. for (int i = 0; i < uploadFiles.Count; i++) 
  5. HttpPostedFile postedFile = uploadFiles[i]; 
  6. try 
  7. if (postedFile.ContentLength > 0) 
  8. Label1.Text += "文件 #" + (i + 1) + ":" + System.IO.Path.GetFileName(postedFile.FileName) + "<br/>"
  9. postedFile.SaveAs(filepath + System.IO.Path.GetFileName(postedFile.FileName)); 
  10. catch (Exception Ex) 
  11. Label1.Text += "發生錯誤: " + Ex.Message; 


2、上傳文件類型的驗證

對上傳文件類型的驗證既可以在客戶端進行,也可以在服務器端進行。

客戶端可以使用驗證控件來進行,這里重點介紹如何在服務器端進行驗證。

以上cs文件中已用GetExtension獲取了文件的擴展名,只要稍加判斷即可實現上傳類型驗證:

aspx.cs:

  1. protected void Button1_Click(object sender, EventArgs e) 
  2. if (FileUpload1.HasFile) 
  3. fileExt = System.IO.Path.GetExtension(FileUpload1.FileName); 
  4. if (fileExt == ".rar" || fileExt == ".zip"
  5. try 
  6. FileUpload1.SaveAs(Server.MapPath("upload") + "//" + FileUpload1.FileName); 
  7. Label1.Text = "客戶端路徑:" + FileUpload1.PostedFile.FileName + "<br>" + 
  8. "文件名:" + System.IO.Path.GetFileName(FileUpload1.FileName) + "<br>" + 
  9. "文件擴展名:" + System.IO.Path.GetExtension(FileUpload1.FileName) + "<br>" + 
  10. "文件大小:" + FileUpload1.PostedFile.ContentLength + " KB<br>" +  
  11. "文件MIME類型:" + FileUpload1.PostedFile.ContentType + "<br>" + 
  12. "保存路徑:" + Server.MapPath("upload") + "//" + FileUpload1.FileName; 
  13. catch (Exception ex) 
  14. Label1.Text = "發生錯誤:" + ex.Message.ToString(); 
  15. else 
  16. Label1.Text = "只允許上傳rar、zip文件!"
  17. else 
  18. Label1.Text = "沒有選擇要上傳的文件!"


注意,不能過分依賴于客戶端驗證控件和服務器端上述方法的驗證,因為用戶只需將文件擴展名更改為允許的類型就可以避開上邊的驗證,這對用戶來說并不是件困難的事情。

3、解決文件大小限制

在ASP.NET 2.0中FileUpload默認上傳文件最大為4M,不過可以在web.cofig中修改相關節點來更改這個默認值,相關節點如下:

復制代碼代碼如下:

 

maxRequestLength表示可上傳文件的最大值,executionTimeout表示ASP.NET關閉前允許發生的上載秒數。

4、"multipart/form-data"和Request共存

在ASP程序中一旦使用表單上傳文件(form的enctype屬性值為multipart/form-data),服務器端就不能再用Request.Form來獲取表單的值,這種限制在ASP.NET 2.0中已不存在了:

aspx.cs:


 

  1. protected void Button1_Click(object sender, EventArgs e) 
  2. if (FileUpload1.HasFile) 
  3. try 
  4. FileUpload1.SaveAs(Server.MapPath("upload") + "//" + FileUpload1.FileName); 
  5. Label1.Text = "上傳文件:" + FileUpload1.FileName + "<br>" + 
  6. "說明:" + Request.Form["TextBox1"];//也可以用"TextBox1.Text"來獲取說明 
  7. catch (Exception ex) 
  8. Label1.Text = "發生錯誤:" + ex.Message.ToString(); 
  9. else 
  10. Label1.Text = "沒有選擇要上傳的文件!"
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美精品v国产精品v日韩精品 | 久久精品亚洲国产奇米99 | 午夜在线观看视频网站 | 午夜视频在线观看免费视频 | 久久蜜桃精品一区二区三区综合网 | 成人毛片视频在线观看 | 亚洲综合一区在线观看 | 久久国产精品免费视频 | 好吊色欧美一区二区三区四区 | 宅男噜噜噜66国产免费观看 | 日韩视频―中文字幕 | 看91视频| 欧美亚洲综合网 | 欧美一级鲁丝片免费看 | 成人免费观看av | 日韩一级电影在线观看 | 一本色道久久综合狠狠躁篇适合什么人看 | 最新久久免费视频 | 黄色特级一级片 | www.99re14.com | 5a级毛片| 久久久久久久91 | 久色乳综合思思在线视频 | 精品亚洲午夜久久久久91 | 91午夜免费视频 | 操操插插| jizzjizzjizzjizz国产 | 精品中文字幕视频 | 久久国产精品久久精品国产演员表 | 99seav| 成人短视频在线播放 | 久久久久久久久淑女av国产精品 | 午夜九九九 | 在线观看av国产一区二区 | 999插插插| 姑娘第四集免费看视频 | 插插操| av资源在线天堂 | 青青草好吊色 | 国产88久久久国产精品免费二区 | 久久久成人动漫 |