ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 438|ตอบกลับ: 0

[VB.NET] ลิสต์รายชื่อไฟล์ผ่าน FTP Server ด้วย WinSCP

[คัดลอกลิงก์]

308

กระทู้

499

โพสต์

6021

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
6021

โค้ดชุดนี้จะเป็นการแสดงผลรายชื่อไฟล์ภาพจาก FTP Server ผ่านอินเทอร์เน็ตด้วยของฟรี WinSCP Net Library มาแสดงผลลงบน ListView Control ก่อน จากนั้นก็ค่อยเลือกไฟล์ภาพมาแสดงผลใน PictureBox Control อีกที โดยแอดมินจะใช้ตัวอย่างจาก Free Hosting ของ www.serv00.com เข้าไปสมัครใช้งานได้ฟรีเลยครับผม ...







มาดูโค้ดต้นฉบับเต็มกันเถอะ ...
  1. Imports System.IO
  2. Imports System.Net
  3. Imports WinSCP

  4. Public Class frmListFileHosting
  5.     ' / --------------------------------------------------------------------------------
  6.     '// สำหรับ HOSTING
  7.     '// ตำแหน่งของไฟล์ภาพบน Hosting เพื่อนำมาแสดงผล
  8.     '// แก้ไข SUB DOMAIN และชื่อ DIRECTORY ที่ต้องการแสดงผลไฟล์ภาพ
  9.     Dim MyURL As String = "https://SUBDOMAIN.serv00.net/DIRECTORY/"
  10.     'Dim RemoteDir As String = "domains/SUBDOMAIN.serv00.net/public_html/DIRECTORY/"
  11.     '// Login เข้าสู่ระบบ Hosting ...
  12.     '// FTP Hostname ต้องดูจากตอนที่ Add Account for FTP เพราะอาจจะไม่เหมือนกับตัวอย่าง
  13.     Dim HostName As String = "s0.serv00.com"
  14.     Dim UName As String = "USERNAME"
  15.     Dim Pwd As String = "PASSWORD"

  16.     Private Sub frmListFileHosting_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  17.         txtRemoteDir.Text = "domains/SUBDOMAIN.serv00.net/public_html/DIRECTORY/"
  18.         Label1.Text = "Filename: "
  19.     End Sub

  20.     ' / --------------------------------------------------------------------------------
  21.     ' / แสดงรายชื่อไฟล์จาก Remote Directory
  22.     ' / --------------------------------------------------------------------------------
  23.     Private Sub btnListingClick(sender As System.Object, e As System.EventArgs) Handles btnListing.Click
  24.         '// Initialize ListView.
  25.         With ListView1
  26.             .Clear()
  27.             .View = View.Details
  28.             .GridLines = True
  29.             .FullRowSelect = True
  30.             .HideSelection = False
  31.             .MultiSelect = False
  32.             '// Add Columns.
  33.             .Columns.Add("Filename", Me.ListView1.Width \ 3 - 50)
  34.             .Columns.Add("Length (KB)", Me.ListView1.Width \ 3)
  35.             .Columns.Add("Last Modification", Me.ListView1.Width \ 3 + 20)
  36.         End With
  37.         '//
  38.         Me.Cursor = Cursors.WaitCursor
  39.         Try
  40.             '/ Setup session options
  41.             Dim sessionOptions As New SessionOptions
  42.             With sessionOptions
  43.                 .Protocol = Protocol.Ftp
  44.                 .HostName = HostName
  45.                 .UserName = UName
  46.                 .Password = Pwd
  47.                 '/ FTP ไม่ต้องใช้
  48.                 '.SshHostKeyFingerprint = "ssh-rsa 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
  49.             End With
  50.             '//
  51.             Using Session As New Session
  52.                 '/ Connect with options.
  53.                 Session.Open(sessionOptions)
  54.                 '// กำหนด Remote Directory
  55.                 Dim RemoteDirectory As RemoteDirectoryInfo = Session.ListDirectory(txtRemoteDir.Text)
  56.                 Dim FileInfo As RemoteFileInfo
  57.                 For Each FileInfo In RemoteDirectory.Files
  58.                     Dim LV As New ListViewItem
  59.                     If Not FileInfo.IsDirectory Or Not FileInfo.IsParentDirectory Then
  60.                         LV = ListView1.Items.Add(FileInfo.Name)  '// --> Primary Node
  61.                         LV.SubItems.Add(Format(FileInfo.Length / 1024, "#,##0.00"))
  62.                         LV.SubItems.Add(FileInfo.LastWriteTime)
  63.                     End If
  64.                 Next
  65.             End Using
  66.         Catch ex As Exception
  67.             MessageBox.Show(ex.Message)
  68.         End Try
  69.         Me.Cursor = Cursors.Default
  70.         '// ปรับความกว้างของ Column ในการแสดงผลบน ListView
  71.         'ListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)
  72.     End Sub

  73.     ' / --------------------------------------------------------------------------------
  74.     ' / นำรายชื่อภาพจาก ListView Control มาแสดงผลใน PictureBox
  75.     ' / --------------------------------------------------------------------------------
  76.     Private Sub ListView1_DoubleClick(sender As Object, e As System.EventArgs) Handles ListView1.DoubleClick
  77.         Try
  78.             '//
  79.             Me.Cursor = Cursors.WaitCursor
  80.             '// รับค่าชื่อไฟล์จาก ListView1.SelectedItems(0).Text เพื่อนำมาแสดงผลบน PictureBox (picURL)
  81.             Dim Req As WebRequest = WebRequest.Create(MyURL & ListView1.SelectedItems(0).Text)
  82.             Dim Res As WebResponse = Req.GetResponse()
  83.             Dim imgStream As Stream = Res.GetResponseStream()
  84.             Dim imgPic As Image = Image.FromStream(imgStream)
  85.             imgStream.Close()
  86.             '/ Load File Stream into PictureBox.
  87.             With picURL
  88.                 picURL.Image = imgPic
  89.                 .WaitOnLoad = True
  90.                 .SizeMode = PictureBoxSizeMode.StretchImage
  91.             End With
  92.         Catch ex As Exception
  93.             MessageBox.Show(ex.Message)
  94.         End Try
  95.         Me.Cursor = Cursors.Default
  96.         Label1.Text = "Filename: " & ListView1.SelectedItems(0).Text
  97.     End Sub

  98.     Private Sub frmListFileHosting_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
  99.         If ListView1.Columns.Count = 0 Then Return
  100.         With ListView1
  101.             .Columns("Filename").Width = Me.ListView1.Width \ 3 - 50
  102.             .Columns("Length").Width = Me.ListView1.Width \ 3
  103.             .Columns.Add("Last Modification").Width = Me.ListView1.Width \ 3 + 20
  104.         End With
  105.     End Sub

  106.     Private Sub btnExit_Click(sender As Object, e As System.EventArgs) Handles btnExit.Click
  107.         Me.Close()
  108.     End Sub

  109.     Private Sub frmListFileHosting_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
  110.         Me.Dispose()
  111.         GC.SuppressFinalize(Me)
  112.         Application.Exit()
  113.     End Sub
  114. End Class
คัดลอกไปที่คลิปบอร์ด


ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้จากที่นี่ ...

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-4-16 21:11 , Processed in 0.207354 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้