程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在ASP.NET 2.0中實現文件上載

在ASP.NET 2.0中實現文件上載

編輯:關於ASP.NET

自引入 Microsoft ASP.NET 版本 1.0 之日起,就存在生成 Web 應用程序的 內置方法,這些方法能夠將文件上載到宿主服務器。這是通過使用 File Field HTML 服務器控件實現的。我以前寫過一篇關於如何在 ASP.NET 應用程序中有效 使用該控件的 MSDN 文章。本文將再次介紹文件上載過程,但不是使用 File Field 控件,我將向您介紹如何有效使用 ASP.NET 2.0 提供的新 FileUpload 服務器控件。

雖然本文向您介紹新增的 FileUpload 服務器控件,但現在仍然可以在應用 程序中使用 File Field 控件,注意到這一點是非常重要的。

FileUpload 服務器控件示例

在 ASP.NET 1.x 中使用 File Field 控件時,必須采取一些額外的步驟才能 使一切有條不紊地正常運行。例如,您需要親自將 enctype="multipart/form- data" 添加到頁面的 <form> 元素中。ASP.NET 2.0 中提供的新 FileUpload 服務器控件使將文件上載到宿主服務器的過程盡可能的簡單。

最後,您試圖允許對 HTML <input type="file">標記進行編程。該標 記用於與 HTML 窗體中的文件數據一起使用。過去使用傳統的 ASP(ASP 3.0 或 更早的版本)時,許多程序員使用第三方組件將文件從客戶端上載到服務器。現 在,通過 .NET 和該新控件可以進行上載。清單 1 顯示如何使用 FileUpload 控件將文件上載到服務器。

注 提供 Microsoft Visual Basic 和 C# 形式的示例代碼。

清單 1. 使用 FileUpload 控件將文件上載到服務器

Visual Basic

<%@ Page Language="VB" %>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
  ByVal e As System.EventArgs)
If FileUpload1.HasFile Then
Try
FileUpload1.SaveAs("C:\Uploads\" & _
  FileUpload1.FileName)
Label1.Text = "File name: " & _
  FileUpload1.PostedFile.FileName & "<br>" & _
  "File Size: " & _
  FileUpload1.PostedFile.ContentLength & " kb<br>" & _
  "Content type: " & _
  FileUpload1.PostedFile.ContentType
Catch ex As Exception
Label1.Text = "ERROR: " & ex.Message.ToString()
End Try
Else
Label1.Text = "You have not specified a file."
End If
End Sub
</script>
<HTML xmlns="http://www.w3.org/1999/xHTML" >
<head runat="server">
<title>Upload Files</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ASP:FileUpload ID="FileUpload1" runat="server" /><br />
<br />
<ASP:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Upload File" /> <br />
<br />
<ASP:Label ID="Label1" runat="server"></ASP:Label></div>
</form>
</body>
</HTML>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved