سلام.من می خوام یه فایل را از کامپیوتر خودم به یک کامپیوتر دیگر در شبکه با استفاده از C# انتقال بدم . چگونه این کار را انجام بدم؟
(پسوند فایل را چطور به دست آورم؟
ایا تابع api برای انتقال فایل تو شبکه هست ؟
سلام.من می خوام یه فایل را از کامپیوتر خودم به یک کامپیوتر دیگر در شبکه با استفاده از C# انتقال بدم . چگونه این کار را انجام بدم؟
(پسوند فایل را چطور به دست آورم؟
ایا تابع api برای انتقال فایل تو شبکه هست ؟
در صورتی که میخواهی با File.Copy این کارو انجام بدی باید در ابتدای آدرس فایل موجود در کامپیوتر دیگر، باید IPAddress اون قید بشه و اگر می خواهی با کلاسهای Socket این کارو بکنی باید برنامه نویسی سوکت و کنسول رو کار کرده باشی و با استفاده از کلاسهای TcpClient یا UDPClient و ... این کارو بکنی.
اگر می خواهی از API استفاده کنی WinSock رو پیشنهاد می کنم.
من باید در تابع copy آدرس کامپیوتر مورد نظر را قرار بدم؟
باید IPAddress رو قرار بدی .
باید از مسیر UNC استفاده کنی، مثل :
\\ComputerName\e\test.txt
\\IP\e\test.txt
دوستان خسته نباشید
اگه کسی یه نمونه از ftp (انتقال فایل تو شبکه)با سی شارپ داره بذاره تا استفاده کنیم
ممنون
سلام دوستان..من به شدت به این مشکل برخوردم..لطفا اگه میشه راهنمایی کنین چطور یه فایل رو توی شبکه انتقال بدیم یا دریافت کنیم...
باسلام:
برای کپی کردن فایل به کد زیر دقت کنید:
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")).ReadT oEnd)
myStreamWriter.Close()
myFtpWebResponse = myFtpWebRequest.GetResponse()
litResponse.Text = myFtpWebResponse.StatusDescription
myFtpWebResponse.Close()
End Sub
/// <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; }
}