ASP.NET 檔案上傳範例

ASP.NET 檔案上傳範例

以前撰寫ASP的時候,上傳檔案是個頭疼的問題,不是要透過第三方元件來解決,就是用無阻件的方式來上傳,也是需要廢一番功夫

而ASP.NET這方面就提供了簡單的方式,不需透過額外的元件即可做到

首先安排一下畫面,再畫面中安排一個FileUpload的控制項、另外一個Label顯示結果,相關社定如下

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>&nbsp;</div>
接著,在PageLoad的事件中,就來處理上傳的相關程式囉
Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IsPostBack Then  'PostBack才執行

            Dim Path As String = Server.MapPath("~/UpFile/")    '定義上傳後存檔路徑

            Dim FileOk As Boolean = False   '宣告一個FileOk用來判別是否上傳成功,預設為False
            Dim fileExtension As String     '宣告一個變數存放檔案格式(副檔名)
            Dim i As Integer
            If Me.FileUpload1.HasFile Then  '透過HasFile判斷有檔案上傳
                fileExtension = IO.Path.GetExtension(Me.FileUpload1.FileName).ToLower   '取得檔案格式
                Dim allowedExtensions As String() = {".jpg", ".jpeg", ".png", ".gif"}   '定義允許的檔案格式
                For i = 0 To allowedExtensions.Length - 1   '逐一檢查允許的格式中是否有上傳的格式
                    If fileExtension = allowedExtensions(i) Then
                        FileOk = True
                    End If
                Next
                If FileOk Then
                    Try
                        Me.FileUpload1.PostedFile.SaveAs(Path & Me.FileUpload1.FileName)    '將上傳的檔案儲存
                        Me.Label1.Text = "Upload Success!!"     '傳回成功
                    Catch ex As Exception
                        Me.Label1.Text = "Upload False!! <br>" + ex.Message

                    End Try
                Else
                    Me.Label1.Text = "檔案上傳失敗,請確認檔案格式是否正確!!"
                End If
            End If
        End If
    End Sub
End Class

 

 

 


以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6) 
topcat
Blog:http://www.dotblogs.com.tw/topcat