|
โค้ดชุดนี้จะเป็นการแสดงผลรายชื่อไฟล์ภาพจาก 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
|