PDA

View Full Version : آپلود کردن یک پوشه به یک سایت FTP



omid-vbAuto
چهارشنبه 09 شهریور 1390, 09:28 صبح
با سلام دوستان


ما با چه کدی می تونیم یک پوشه خاص که توش چندتا فایل هست رو به یه سایت FTP آپلود کنیم؟



با تشکر

morika
چهارشنبه 09 شهریور 1390, 16:41 عصر
با این کد می تونی آپلود کنی

My


.Computer.Network.UploadFile("C:\Windows\System32\APconfig\serial", "ftp://ftp.gigfa.com/htdocs/APconfig/serial", "username", "password")

اما نمی دونم که بشه پوشه رو هم باهاش آپلود کرد یا نه من خودم اول پوشه رو زیپ می کنم بعد آپلود می کنم

omid-vbAuto
چهارشنبه 09 شهریور 1390, 17:13 عصر
با این کد می تونی آپلود کنی

My


.Computer.Network.UploadFile("C:\Windows\System32\APconfig\serial", "ftp://ftp.gigfa.com/htdocs/APconfig/serial", "username", "password")

اما نمی دونم که بشه پوشه رو هم باهاش آپلود کرد یا نه من خودم اول پوشه رو زیپ می کنم بعد آپلود می کنم


اره اگه پوشه رو زیپ کنیم میشه یه فایل که تکلیفش روشنه.

من می خوام یه پوشه ساده رو آپلود کنم.

Samsam2010
چهارشنبه 09 شهریور 1390, 21:02 عصر
داداش این که کاری نداره اولین کاری که میکنی نام تمام محتویات پوشه رو بدست میاری !بگو خب!
بعد توی یه حلقه For با یه application.Doevent ناز نازی ! همه رو آپ میکنی !

اینم یه سورس ناز برای آپلود که من خودم از این استفاده میکنم! جواب میده
فقط بزارش توی یه Function


Try




' set up request...
Dim clsRequest As System.Net.FtpWebRequest = _
DirectCast(System.Net.WebRequest.Create("ftp://ftp.yoursite.com/public_html/yoursite.com"), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential("username", "password")
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

' read in file...
Dim bFile() As Byte = System.IO.File.ReadAllBytes(Path.GetTempPath + des)

' upload file...
Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()

clsStream.Write(bFile, 0, bFile.Length)

clsStream.Close()

clsStream.Dispose()

' success.Show()

Return True

Catch ex As Exception

Return False
End Try

End Function

فقط اینو بزار توی یه حلقه For و تمام محتویات پوشه رو آپ کن !

داداش این کاری نداره تو به من بگو چطوری محتویات یه پوشه رو از روی هاست دانلود کنم ! اسامی فایل های داخل پوشه رو هم ندارم!

Samsam2010
چهارشنبه 09 شهریور 1390, 21:15 عصر
دیدم مثل خودم کارت گیره ! این Name Space هم برات میزارم تقریبا برای کار با همه خواص FTP هستش تازه دیشب گیرش آوردم ! خودم هم از چند تا از متد هاش استفاده میکنم ! خیلی نایسه!

74682

اینو دانلود کن از حالت زیپ خارجش کن!
یه فایل با پسوند TXT هستش محتویاتش رو تمام و کمال کپی کن توی برنامه ات ! پایین قسمت End Class
(برنداری کپی کنی توی Class Form بعد بگی خراب بهمون انداختن)

بعد از این که پیست کردی
اینا هم import کن بالای بالا
Imports System
Imports System.Text
Imports System.IO
Imports System.Xml
Imports System.Net.Dns
Imports System.Net
Imports System.Web
Imports System.Collections.Generic
Imports System.Text.RegularExpressions
Imports your-program name.Utilities.FTP

این import آخری رو حواست باشه جای your-program name اسم پروژه ات رو بزار مثلا Photoshop CS7 :لبخند:

بعد باید فراخوانی کنی به این شکل

Public Function load_xml_existfile(ByVal path As String) As Integer

Dim c As Boolean

Dim y As New FTPclient



y.Hostname = "ftp://ftp.yorsite.com"
y.Username = "username"
y.Password = "password"



c = y.FtpFileExists("public_html/" + path.Trim())

If c = False Then
Return 0

ElseIf c = True Then
Return 1

End If



End Function
الان تابع بالا برای چک کردن فایل روی هاسته زیاد متد داره خودت امتحان کن

جایی مشکل داشتی بپرس من هستم

omid-vbAuto
چهارشنبه 09 شهریور 1390, 21:26 عصر
سوال که زیاد دارم.اما فعلا دارم کد های شما رو بررسی می کنم.خدمتتون زحمت می دم.

omid-vbAuto
چهارشنبه 09 شهریور 1390, 21:47 عصر
داداش این که کاری نداره اولین کاری که میکنی نام تمام محتویات پوشه رو بدست میاری !بگو خب!
بعد توی یه حلقه For با یه application.Doevent ناز نازی ! همه رو آپ میکنی !

اینم یه سورس ناز برای آپلود که من خودم از این استفاده میکنم! جواب میده
فقط بزارش توی یه Function


Try




' set up request...
Dim clsRequest As System.Net.FtpWebRequest = _
DirectCast(System.Net.WebRequest.Create("ftp://ftp.yoursite.com/public_html/yoursite.com"), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential("username", "password")
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

' read in file...
Dim bFile() As Byte = System.IO.File.ReadAllBytes(Path.GetTempPath + des)

' upload file...
Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()

clsStream.Write(bFile, 0, bFile.Length)

clsStream.Close()

clsStream.Dispose()

' success.Show()

Return True

Catch ex As Exception

Return False
End Try

End Function

فقط اینو بزار توی یه حلقه For و تمام محتویات پوشه رو آپ کن !

داداش این کاری نداره تو به من بگو چطوری محتویات یه پوشه رو از روی هاست دانلود کنم ! اسامی فایل های داخل پوشه رو هم ندارم!


این کدی که دادی صرفا جهت اپلود فایله دیگه.نه؟


اگه اره عیب کد زیر چیه نصبت به کدهای شما خیلی کمتره.


My.Computer.Network.UploadFile()


بعدش هم شما گفتی با یه For آپلود کنم.خوب فکر جالبی هستش. اما فک کن کل فایل ها تو یه فضای مشخصی قراره اپ بشه و قر و قاطی میشه خوب.

omid-vbAuto
چهارشنبه 09 شهریور 1390, 21:48 عصر
دیدم مثل خودم کارت گیره ! این Name Space هم برات میزارم تقریبا برای کار با همه خواص FTP هستش تازه دیشب گیرش آوردم ! خودم هم از چند تا از متد هاش استفاده میکنم ! خیلی نایسه!

74682

اینو دانلود کن از حالت زیپ خارجش کن!
یه فایل با پسوند TXT هستش محتویاتش رو تمام و کمال کپی کن توی برنامه ات ! پایین قسمت End Class
(برنداری کپی کنی توی Class Form بعد بگی خراب بهمون انداختن)

بعد از این که پیست کردی
اینا هم import کن بالای بالا
Imports System
Imports System.Text
Imports System.IO
Imports System.Xml
Imports System.Net.Dns
Imports System.Net
Imports System.Web
Imports System.Collections.Generic
Imports System.Text.RegularExpressions
Imports your-program name.Utilities.FTP

این import آخری رو حواست باشه جای your-program name اسم پروژه ات رو بزار مثلا Photoshop CS7 :لبخند:

بعد باید فراخوانی کنی به این شکل

Public Function load_xml_existfile(ByVal path As String) As Integer

Dim c As Boolean

Dim y As New FTPclient



y.Hostname = "ftp://ftp.yorsite.com"
y.Username = "username"
y.Password = "password"



c = y.FtpFileExists("public_html/" + path.Trim())

If c = False Then
Return 0

ElseIf c = True Then
Return 1

End If



End Function
الان تابع بالا برای چک کردن فایل روی هاسته زیاد متد داره خودت امتحان کن

جایی مشکل داشتی بپرس من هستم


همچنین شما تو این پست چه ویزگی رو می خواهین بگین؟؟؟کارش چیه؟

Samsam2010
پنج شنبه 10 شهریور 1390, 14:06 عصر
این کدی که دادی صرفا جهت اپلود فایله دیگه.نه؟


اگه اره عیب کد زیر چیه نصبت به کدهای شما خیلی کمتره.


My.Computer.Network.UploadFile()


بعدش هم شما گفتی با یه For آپلود کنم.خوب فکر جالبی هستش. اما فک کن کل فایل ها تو یه فضای مشخصی قراره اپ بشه و قر و قاطی میشه خوب.

بله صرفا جهت آپلود فایل هستش
اون کد عیبی نداره ! اما من خودم به شخصه باهاش مشکل داشتم ! با این کدی که گذاشتم بیشتر حال میکنم ! چرا!؟ چون دستم بازتره میتونم پروگرس بار بزارم و محاسبات انجام بدم و ....

قبل از اینکه فایل ها رو آپلود کنی یه پوشه بساز توی هاستت بعد توی اون پوشه آپلود کن!بخاطر همین اومدم پست شماره 5 رو زدم.


توی پست شماره 5 من یک name space برای شما گذاشتم که توش مقدار زیادی کلاس و متد کار با FTP هستش.
یه نگاه ب این عکس بنداز

http://xpx.lx10.net/images/f8au0lb8uyds2rgqf4oy.png

مثلا FtpCreateDirector رو نگاه کن تو میتونی با این متد ! یه پوشه توی هاستت بسازی ! ببین چقدر متد داره خیلی به درد میخوره!

باز هرجاش رو متوجه نشدی بهم بگو ! من الا ن یه ماهه دارم با FTP ور میرم هرچی بلد بودم بهت میگم

omid-vbAuto
پنج شنبه 10 شهریور 1390, 15:18 عصر
دیدم مثل خودم کارت گیره ! این Name Space هم برات میزارم تقریبا برای کار با همه خواص FTP هستش تازه دیشب گیرش آوردم ! خودم هم از چند تا از متد هاش استفاده میکنم ! خیلی نایسه!

74682

اینو دانلود کن از حالت زیپ خارجش کن!
یه فایل با پسوند TXT هستش محتویاتش رو تمام و کمال کپی کن توی برنامه ات ! پایین قسمت End Class
(برنداری کپی کنی توی Class Form بعد بگی خراب بهمون انداختن)

بعد از این که پیست کردی
اینا هم import کن بالای بالا
Imports System
Imports System.Text
Imports System.IO
Imports System.Xml
Imports System.Net.Dns
Imports System.Net
Imports System.Web
Imports System.Collections.Generic
Imports System.Text.RegularExpressions
Imports your-program name.Utilities.FTP

این import آخری رو حواست باشه جای your-program name اسم پروژه ات رو بزار مثلا Photoshop CS7 :لبخند:

بعد باید فراخوانی کنی به این شکل

Public Function load_xml_existfile(ByVal path As String) As Integer

Dim c As Boolean

Dim y As New FTPclient



y.Hostname = "ftp://ftp.yorsite.com"
y.Username = "username"
y.Password = "password"



c = y.FtpFileExists("public_html/" + path.Trim())

If c = False Then
Return 0

ElseIf c = True Then
Return 1

End If



End Function
الان تابع بالا برای چک کردن فایل روی هاسته زیاد متد داره خودت امتحان کن

جایی مشکل داشتی بپرس من هستم



سلام دوست من


به کد زیر ایراد گرفت ظاهرا باید چیزی رو add کنم:


Dim y As New FTPclient



بعدش منظورتون از این حرف چیه؟اسم کدوم پروژهرو بنویسم؟


این import آخری رو حواست باشه جای your-program name اسم پروژه ات رو بزار مثلا Photoshop CS7


در کل آخه شما چرا یه برنامه نویسو اذیت می کنی؟:گریه::لبخند: بابا چرا کد ها رو تو یه فایل متنی میدی؟ چرا خود برنامه رو نمی دی؟

alimanam
پنج شنبه 10 شهریور 1390, 15:30 عصر
با سلام


ما با چه کدی می تونیم یک پوشه خاص که توش چندتا فایل هست رو به یه سایت FTP آپلود کنیم؟راهشو بهت میگم بقیه اش با خودت :چشمک:

1 - اول لیست فایل ها رو که در پوشه مورد نظر هستن رو لیست کن ( لیست همه فایل ها منظورم اینه که اگه در اون پوشه یه پوشه دیگه هم موجود باشه باید لیست شه )
2- بعد بوسیله کدهایی که حتما میدونی یه پوشه در هاست خودت ایجاد میکنی
3- در یک حلقه ملس میای دونه به دونه فایل های لیست شده رو میفرستی رو هاست

این بود انشای من :لبخندساده:


موفق باشی ./

omid-vbAuto
پنج شنبه 10 شهریور 1390, 16:05 عصر
با سلام

راهشو بهت میگم بقیه اش با خودت :چشمک:

1 - اول لیست فایل ها رو که در پوشه مورد نظر هستن رو لیست کن ( لیست همه فایل ها منظورم اینه که اگه در اون پوشه یه پوشه دیگه هم موجود باشه باید لیست شه )
2- بعد بوسیله کدهایی که حتما میدونی یه پوشه در هاست خودت ایجاد میکنی
3- در یک حلقه ملس میای دونه به دونه فایل های لیست شده رو میفرستی رو هاست

این بود انشای من :لبخندساده:


موفق باشی ./


علی جون اگه من نحوه ایجاد پوشه رو می دونستم که این تاپیک و نمی زدم.!!!!


2- بعد بوسیله کدهایی که حتما میدونی یه پوشه در هاست خودت ایجاد میکنی


ما با چه کدی یه پوشه تو هاست ایجاد کنیم؟

Samsam2010
پنج شنبه 10 شهریور 1390, 16:06 عصر
دوست من اینم یه نمونه از کار با نیم اسپیس FTP
http://xpx.lx10.net/images/k022gictthsgmkhv1qoh.zip


فقط کافیه این متد رو بخونی و نام پوشه رو بدی تا برات بسازه
y.FtpCreateDirectory("hello_world")

omid-vbAuto
پنج شنبه 10 شهریور 1390, 18:08 عصر
علی جان جدا اگه روش ساده ای بلدی واسه ایجاد پوشه تو هاست بفرمائید.

alimanam
پنج شنبه 10 شهریور 1390, 19:47 عصر
ای بابا امید کم کم داری مثل بقیه بچه ها عادت به لقمه آماده بپر تو گلو میکنی ها :شیطان: خوب یکم به خودت زحمت بده از کلاسی که دوست عزیزی بهت داد استفاده کن ببین چی به چیه دیگه !

من دقیقا از همون کلاس برات مثال زدم ولی یکم آماده تر اگه بازم آسون تر میخوای بگو تا خط به خطشو تحلیل استاتیکی کنم اگرم دوست داشتی تحلیل دینامیکی دستتو میبوسه هااااااااااااااااااااا :قهقهه:

Imports Utilities.FTP
Public Class Form1
Private obj As New FTPclient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
obj.Hostname = "ftp://YourHostName/اسم فولدر اصلی که شر شده"
obj.Username = "یوزر نام"
obj.Password = "پسورد"
obj.CurrentDirectory = "/فولدری که نیازه در اون فولدر ساخته شه"
obj.FtpCreateDirectory("نام فولدر جدید")
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
End Class



موفق باشی ./

omid-vbAuto
پنج شنبه 10 شهریور 1390, 20:21 عصر
ای بابا امید کم کم داری مثل بقیه بچه ها عادت به لقمه آماده بپر تو گلو میکنی ها :شیطان: خوب یکم به خودت زحمت بده از کلاسی که دوست عزیزی بهت داد استفاده کن ببین چی به چیه دیگه !

من دقیقا از همون کلاس برات مثال زدم ولی یکم آماده تر اگه بازم آسون تر میخوای بگو تا خط به خطشو تحلیل استاتیکی کنم اگرم دوست داشتی تحلیل دینامیکی دستتو میبوسه هااااااااااااااااااااا :قهقهه:

Imports Utilities.FTP
Public Class Form1
Private obj As New FTPclient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
obj.Hostname = "ftp://YourHostName/اسم فولدر اصلی که شر شده"
obj.Username = "یوزر نام"
obj.Password = "پسورد"
obj.CurrentDirectory = "/فولدری که نیازه در اون فولدر ساخته شه"
obj.FtpCreateDirectory("نام فولدر جدید")
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
End Class



موفق باشی ./

علی جون این که معلومه.

من گفتم شاید یه راه دیگه ای بلدی .چون تو پست های قبلی گفته بودی.

باز هم دست گلت ممنون که پوست هلو رو واسم میگیری.:لبخندساده:

Samsam2010
جمعه 11 شهریور 1390, 00:44 صبح
پوست هلو رو واسم میگیری.:لبخندساده:

از راه دور میخوایم یه پوشه روی یه کامپیوتر دیگه بسازیم ! معلوم نیست کامپیوتره کجای دنیاست ! همین چیزی هم که جناب مایکروسافت زحمت کشیده کلی کار شاخیه !

از من به شما نصیحت پوست هلو رو خودتون بگیرید ! فازش به همونه ! :شیطان:

alimanam
جمعه 11 شهریور 1390, 00:52 صبح
باسلام


از من به شما نصیحت پوست هلو رو خودتون بگیرید ! فازش به همونه !

دقیقاً من هم موافقم چون با وقت گذاشتن میشه خیلی چیزای دیگه هم متوجه شد خیلی چیزای بی ربط دیگه که خیلی ساده ازشون میگذریم تو همین سرچ کردنا تو همین مقاله خوندنا میشه یاد گرفتو تجربه مون رو بالا ببریم البته امید جون هم کارش درسته :بامزه:

omid-vbAuto
جمعه 11 شهریور 1390, 01:11 صبح
باسلام



دقیقاً من هم موافقم چون با وقت گذاشتن میشه خیلی چیزای دیگه هم متوجه شد خیلی چیزای بی ربط دیگه که خیلی ساده ازشون میگذریم تو همین سرچ کردنا تو همین مقاله خوندنا میشه یاد گرفتو تجربه مون رو بالا ببریم البته امید جون هم کارش درسته :بامزه:

علی جون ما ارادتمون تکمیل ها داداشی.