View Full Version : سوال: FTP
regbyte
شنبه 18 خرداد 1387, 14:25 عصر
آیا برای نوشتن برنامه ای برای Upload , Download فایل، باید از کامپوننتهای آماده استفاده کنم، یا بدون کامپوننت هم راه ساده ای وجود دارد؟
لطفا راهنمایی کنید.
علیرضا مداح
شنبه 18 خرداد 1387, 17:20 عصر
سلام دوست عزیز ،
در فضای نام System.Net کلاس هایی از قبیل FtpWebRequest و FtpWebResponse وجود دارند که به وسیله آنها میتوانید عملیات دانلود/آپلود را بر روی سرور FTP انجام دهید ،
FtpWebRequest Class (System.Net) (http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx)
FtpWebResponse Class (System.Net) (http://msdn.microsoft.com/en-us/library/system.net.ftpwebresponse.aspx)
regbyte
سه شنبه 21 خرداد 1387, 14:57 عصر
با تشکر
من از کامپوننتی به نام Rebex FTP SSL for .NET 2.0 استفاده کردم،
به نظر شما از این کامپوننت استفاده کنم یا از کلاسی FtpWebRequest و FtpWebResponse ؟
اگر امکان دارد یک مثال از FtpWebRequest / FtpWebResponse
علیرضا مداح
سه شنبه 21 خرداد 1387, 17:09 عصر
یک مثال ، آپلود فایل با استفاده از کلاس FtpWebRequest :
public void UploadFile(string ftpPath, string filePath, string userName, string password)
{
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpPath + "/" + Path.GetFileName(filePath));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(userName, password);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;
byte[] fileBytes = File.ReadAllBytes(filePath);
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileBytes, 0, fileBytes.Length);
}
آپلود فایل با استفاده از کلاس System.Net.WebClient:
public void UploadFile(string ftpPath, string filePath, string userName, string password)
{
WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential(userName, password);
webClient.UploadFile(ftpPath + "/" + Path.GetFileName(filePath), filePath);
}
همچنین میتوانید برای بررسی روند آپلود شدن فایل ، از رویدادهای UploadProgressChanged و UploadFileCompleted مربوط به شیء System.Net.WebClient استفاده نمایید ،/
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.