21-01-15, 12:06 AM
(20-01-15, 07:48 PM)سعود كتب : وعليكم السلام
الصراحة الامر هذا لم اوفق فيه مع اني اطبق كما بالشرح ولا ادري مالسبب (قديما توقفت عن الامر قد اجد الامر صار اسهل.. الله اعلم.)
لكن شوف الروابط
1 2 3
بحث قوقل
بارك الله فيك اخ sami
وقد نسخت الكلاس من الرابط خشية ان يحذفه لاحقا صاحب الفيديو
كود :
Imports System.Net
Public Class MainForm
Dim ftpFilePath As String = Nothing
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Control.CheckForIllegalCrossThreadCalls = False
End Sub
Private Sub btnBrowse_Click(sender As Object, e As EventArgs) Handles btnBrowse.Click
Dim newFile As New OpenFileDialog
If newFile.ShowDialog = Windows.Forms.DialogResult.OK Then
txtFilePath.Text = newFile.FileName
ftpFilePath = txtFTPServer.Text & "/" & IO.Path.GetFileName(txtFilePath.Text)
End If
End Sub
Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
bWorker.RunWorkerAsync()
End Sub
Private Sub bWorker_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bWorker.DoWork
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(New Uri(ftpFilePath)), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(txtFTPUsername.Text, FTPPassword.Text)
request.UseBinary = True
request.UsePassive = False
Dim fileStream() As Byte = System.IO.File.ReadAllBytes(txtFilePath.Text)
Dim requestStream As System.IO.Stream = request.GetRequestStream()
For offset As Integer = 0 To fileStream.Length Step 1024
bWorker.ReportProgress(CType(offset * pBar.Maximum / fileStream.Length, Integer))
Dim chSize As Integer = fileStream.Length - offset
If chSize > 1024 Then chSize = 1024
requestStream.Write(fileStream, offset, chSize)
Next
requestStream.Close()
requestStream.Dispose()
End Sub
Private Sub bWorker_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles bWorker.ProgressChanged
pBar.Value = e.ProgressPercentage
lblPercent.Text = e.ProgressPercentage & " %"
End Sub
Private Sub bWorker_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bWorker.RunWorkerCompleted
MsgBox("Finish uploading!")
End Sub
End Class
ما تقصر اخي سعود
الحمد لله رب العالمين على كل شي

