সহজ রাস্তা
সবচেয়ে তুচ্ছ পথ ব্যবহার .NET Framework ব্যবহার করছে একটি FTP সার্ভারে একটি ফাইল আপলোড করতে WebClient.UploadFile
পদ্ধতি :
WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
client.UploadFile("ftp://ftp.example.com/remote/path/file.zip", @"C:\local\path\file.zip");
উন্নত বিকল্প
আপনার যদি আরও বৃহত্তর নিয়ন্ত্রণের প্রয়োজন হয় WebClient
তবে এটি অফার করে না (যেমন টিএলএস / এসএসএল এনক্রিপশন , এএসসিআইআই মোড, অ্যাক্টিভ মোড ইত্যাদি), ব্যবহার করুন FtpWebRequest
। সহজ উপায় হ'ল এটি FileStream
ব্যবহার করে কেবল কোনও এফটিপি স্ট্রিমে অনুলিপি করা Stream.CopyTo
:
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.UploadFile;
using (Stream fileStream = File.OpenRead(@"C:\local\path\file.zip"))
using (Stream ftpStream = request.GetRequestStream())
{
fileStream.CopyTo(ftpStream);
}
অগ্রগতি পর্যবেক্ষণ
আপনার যদি আপলোডের অগ্রগতি পর্যবেক্ষণ করতে হয় তবে আপনাকে নিজের অংশগুলি সামগ্রীটি অনুলিপি করতে হবে:
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/file.zip");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.UploadFile;
using (Stream fileStream = File.OpenRead(@"C:\local\path\file.zip"))
using (Stream ftpStream = request.GetRequestStream())
{
byte[] buffer = new byte[10240];
int read;
while ((read = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
ftpStream.Write(buffer, 0, read);
Console.WriteLine("Uploaded {0} bytes", fileStream.Position);
}
}
জিইউআই অগ্রগতির জন্য (উইনফর্মস ProgressBar
), সি # উদাহরণটি এখানে দেখুন:
আমরা কীভাবে FtpWebRequest দিয়ে আপলোডের জন্য অগ্রগতি বারটি প্রদর্শন করতে পারি?
ফোল্ডার আপলোড হচ্ছে
আপনি যদি কোনও ফোল্ডার থেকে সমস্ত ফাইল আপলোড করতে চান তবে ওয়েবক্লিয়েন্ট ব্যবহার করে এফটিপি সার্ভারে ফাইলগুলির আপলোড ডিরেক্টরি দেখুন
।
পুনরাবৃত্তির জন্য আপলোডের জন্য, সি # তে এফটিপি সার্ভারে পুনরাবৃত্ত আপলোড দেখুন see