|  | 
 
| โค้ดชุดนี้จะเป็นการแสดงผลรายชื่อไฟล์ภาพจาก FTP Server ผ่านอินเทอร์เน็ตด้วยของฟรี WinSCP Net Library มาแสดงผลลงบน ListView Control ก่อน จากนั้นก็ค่อยเลือกไฟล์ภาพมาแสดงผลใน PictureBox Control อีกที โดยแอดมินจะใช้ตัวอย่างจาก Free Hosting ของ www.serv00.com เข้าไปสมัครใช้งานได้ฟรีเลยครับผม ... 
 
  
 
 
  
 
 มาดูโค้ดต้นฉบับเต็มกันเถอะ ...
 
 คัดลอกไปที่คลิปบอร์ดImports System.IO
Imports System.Net
Imports WinSCP
Public Class frmListFileHosting
    ' / --------------------------------------------------------------------------------
    '// สำหรับ HOSTING
    '// ตำแหน่งของไฟล์ภาพบน Hosting เพื่อนำมาแสดงผล
    '// แก้ไข SUB DOMAIN และชื่อ DIRECTORY ที่ต้องการแสดงผลไฟล์ภาพ
    Dim MyURL As String = "https://SUBDOMAIN.serv00.net/DIRECTORY/"
    'Dim RemoteDir As String = "domains/SUBDOMAIN.serv00.net/public_html/DIRECTORY/"
    '// Login เข้าสู่ระบบ Hosting ... 
    '// FTP Hostname ต้องดูจากตอนที่ Add Account for FTP เพราะอาจจะไม่เหมือนกับตัวอย่าง
    Dim HostName As String = "s0.serv00.com"
    Dim UName As String = "USERNAME"
    Dim Pwd As String = "PASSWORD"
    Private Sub frmListFileHosting_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        txtRemoteDir.Text = "domains/SUBDOMAIN.serv00.net/public_html/DIRECTORY/"
        Label1.Text = "Filename: "
    End Sub
    ' / --------------------------------------------------------------------------------
    ' / แสดงรายชื่อไฟล์จาก Remote Directory
    ' / --------------------------------------------------------------------------------
    Private Sub btnListingClick(sender As System.Object, e As System.EventArgs) Handles btnListing.Click
        '// Initialize ListView.
        With ListView1
            .Clear()
            .View = View.Details
            .GridLines = True
            .FullRowSelect = True
            .HideSelection = False
            .MultiSelect = False
            '// Add Columns.
            .Columns.Add("Filename", Me.ListView1.Width \ 3 - 50)
            .Columns.Add("Length (KB)", Me.ListView1.Width \ 3)
            .Columns.Add("Last Modification", Me.ListView1.Width \ 3 + 20)
        End With
        '//
        Me.Cursor = Cursors.WaitCursor
        Try
            '/ Setup session options
            Dim sessionOptions As New SessionOptions
            With sessionOptions
                .Protocol = Protocol.Ftp
                .HostName = HostName
                .UserName = UName
                .Password = Pwd
                '/ FTP ไม่ต้องใช้
                '.SshHostKeyFingerprint = "ssh-rsa 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
            End With
            '//
            Using Session As New Session
                '/ Connect with options.
                Session.Open(sessionOptions)
                '// กำหนด Remote Directory
                Dim RemoteDirectory As RemoteDirectoryInfo = Session.ListDirectory(txtRemoteDir.Text)
                Dim FileInfo As RemoteFileInfo
                For Each FileInfo In RemoteDirectory.Files
                    Dim LV As New ListViewItem
                    If Not FileInfo.IsDirectory Or Not FileInfo.IsParentDirectory Then
                        LV = ListView1.Items.Add(FileInfo.Name)  '// --> Primary Node
                        LV.SubItems.Add(Format(FileInfo.Length / 1024, "#,##0.00"))
                        LV.SubItems.Add(FileInfo.LastWriteTime)
                    End If
                Next
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Me.Cursor = Cursors.Default
        '// ปรับความกว้างของ Column ในการแสดงผลบน ListView
        'ListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)
    End Sub
    ' / --------------------------------------------------------------------------------
    ' / นำรายชื่อภาพจาก ListView Control มาแสดงผลใน PictureBox
    ' / --------------------------------------------------------------------------------
    Private Sub ListView1_DoubleClick(sender As Object, e As System.EventArgs) Handles ListView1.DoubleClick
        Try
            '//
            Me.Cursor = Cursors.WaitCursor
            '// รับค่าชื่อไฟล์จาก ListView1.SelectedItems(0).Text เพื่อนำมาแสดงผลบน PictureBox (picURL)
            Dim Req As WebRequest = WebRequest.Create(MyURL & ListView1.SelectedItems(0).Text)
            Dim Res As WebResponse = Req.GetResponse()
            Dim imgStream As Stream = Res.GetResponseStream()
            Dim imgPic As Image = Image.FromStream(imgStream)
            imgStream.Close()
            '/ Load File Stream into PictureBox.
            With picURL
                picURL.Image = imgPic
                .WaitOnLoad = True
                .SizeMode = PictureBoxSizeMode.StretchImage
            End With
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Me.Cursor = Cursors.Default
        Label1.Text = "Filename: " & ListView1.SelectedItems(0).Text
    End Sub
    Private Sub frmListFileHosting_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
        If ListView1.Columns.Count = 0 Then Return
        With ListView1
            .Columns("Filename").Width = Me.ListView1.Width \ 3 - 50
            .Columns("Length").Width = Me.ListView1.Width \ 3
            .Columns.Add("Last Modification").Width = Me.ListView1.Width \ 3 + 20
        End With
    End Sub
    Private Sub btnExit_Click(sender As Object, e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub
    Private Sub frmListFileHosting_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Me.Dispose()
        GC.SuppressFinalize(Me)
        Application.Exit()
    End Sub
End Class
 ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้จากที่นี่ ...
 
 | 
 
xขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึงคุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน  |