PDA

View Full Version : انتقال فايل با استفاده از سي شارپ



seydali
چهارشنبه 19 تیر 1387, 08:41 صبح
سلام.من می خوام یه فایل را از کامپیوتر خودم به یک کامپیوتر دیگر در شبکه با استفاده از c# انتقال بدم . چگونه این کار را انجام بدم؟
(پسوند فایل را چطور به دست آورم؟
ایا تابع api برای انتقال فایل تو شبکه هست ؟

Xcalivorse
چهارشنبه 19 تیر 1387, 09:29 صبح
در صورتی که میخواهی با File.Copy این کارو انجام بدی باید در ابتدای آدرس فایل موجود در کامپیوتر دیگر، باید IPAddress اون قید بشه و اگر می خواهی با کلاسهای Socket این کارو بکنی باید برنامه نویسی سوکت و کنسول رو کار کرده باشی و با استفاده از کلاسهای TcpClient یا UDPClient و ... این کارو بکنی.
اگر می خواهی از API استفاده کنی WinSock رو پیشنهاد می کنم.

seydali
چهارشنبه 19 تیر 1387, 11:38 صبح
من باید در تابع copy آدرس کامپیوتر مورد نظر را قرار بدم؟

Xcalivorse
چهارشنبه 19 تیر 1387, 12:10 عصر
باید IPAddress رو قرار بدی .

hdv212
چهارشنبه 19 تیر 1387, 12:16 عصر
باید از مسیر UNC استفاده کنی، مثل :

\\ComputerName\e\test.txt
\\IP\e\test.txt

mohammadsafari
جمعه 24 تیر 1390, 14:56 عصر
دوستان خسته نباشید
اگه کسی یه نمونه از ftp (انتقال فایل تو شبکه)با سی شارپ داره بذاره تا استفاده کنیم
ممنون :افسرده:

subsub
شنبه 05 شهریور 1390, 21:43 عصر
سلام.من می خوام یه فایل را از کامپیوتر خودم به یک کامپیوتر دیگر در شبکه با استفاده از c# انتقال بدم . چگونه این کار را انجام بدم؟
(پسوند فایل را چطور به دست آورم؟
ایا تابع api برای انتقال فایل تو شبکه هست ؟

سلام

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

AliSaeedi_v
چهارشنبه 14 تیر 1391, 16:43 عصر
سلام دوستان..من به شدت به این مشکل برخوردم..لطفا اگه میشه راهنمایی کنین چطور یه فایل رو توی شبکه انتقال بدیم یا دریافت کنیم...:گریه:

alonemm
سه شنبه 27 تیر 1391, 15:54 عصر
باسلام:

برای کپی کردن فایل به کد زیر دقت کنید:


Protected Sub btnUploadFile_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim myFtpWebRequest As FtpWebRequest
Dim myFtpWebResponse As FtpWebResponse
Dim myStreamWriter As StreamWriter

myFtpWebRequest = WebRequest.Create("ftp://ftp_server_name/filename.ext")

myFtpWebRequest.Credentials = New NetworkCredential("username", "password")

myFtpWebRequest.Method = WebRequestMethods.Ftp.UploadFile
myFtpWebRequest.UseBinary = True

myStreamWriter = New StreamWriter(myFtpWebRequest.GetRequestStream())
myStreamWriter.Write(New StreamReader(Server.MapPath("filename.ext")).ReadToEnd)
myStreamWriter.Close()

myFtpWebResponse = myFtpWebRequest.GetResponse()

litResponse.Text = myFtpWebResponse.StatusDescription

myFtpWebResponse.Close()
End Sub

AliSaeedi_v
چهارشنبه 06 دی 1391, 12:05 عصر
سلام

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

سلام بله دقیقا...

fakhravari
دوشنبه 11 دی 1391, 15:03 عصر
/// <summary>
/// آپلود کردن فایل روی FTP هاست
/// </summary>
/// <param name="FileName">نام فایل</param>
/// <param name="UploadPath">مسیر ftp مثال ftp://fakhravary.somee.com/www.fakhravary.somee.com/ + نام فایل </param>
/// <param name="FTPUser">نام کاربری</param>
/// <param name="FTPPass">پسورد</param>
/// <returns></returns>
public static bool UploadFileToFTP(string FileName, string UploadPath, string FTPUser, string FTPPass)
{
System.IO.FileInfo FileInfo = new System.IO.FileInfo(FileName);
System.Net.FtpWebRequest FtpWebRequest = (System.Net.FtpWebRequest)System.Net.FtpWebRequest .Create(new Uri(UploadPath));
FtpWebRequest.Credentials = new System.Net.NetworkCredential(FTPUser, FTPPass);
FtpWebRequest.KeepAlive = false;
FtpWebRequest.Timeout = 100000;
FtpWebRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
FtpWebRequest.UseBinary = true;
FtpWebRequest.ContentLength = FileInfo.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
System.IO.FileStream FileStream = FileInfo.OpenRead();
try
{
System.IO.Stream Stream = FtpWebRequest.GetRequestStream();
int contentLen = FileStream.Read(buff, 0, buffLength);
while (contentLen != 0)
{
Stream.Write(buff, 0, contentLen);
contentLen = FileStream.Read(buff, 0, buffLength);
}
Stream.Close();
Stream.Dispose();
FileStream.Close();
FileStream.Dispose();
return true;
}
catch
{ return false; }
}