আপনি কি সি # এর জন্য একটি বিনামূল্যে এফটিপি লাইব্রেরি (ক্লাস) সুপারিশ করতে পারেন recommend
ক্লাসটি ভালভাবে লিখতে হবে, এবং ভাল অভিনয় করতে হবে have
আপনি কি সি # এর জন্য একটি বিনামূল্যে এফটিপি লাইব্রেরি (ক্লাস) সুপারিশ করতে পারেন recommend
ক্লাসটি ভালভাবে লিখতে হবে, এবং ভাল অভিনয় করতে হবে have
উত্তর:
আপনি ফ্লুয়েন্টএফটিপি বিবেচনা করতে পারেন , এটি পূর্বে System.Net.FtpClient হিসাবে পরিচিত ।
এটি এমআইটি লাইসেন্সের আওতায় প্রকাশিত হয়েছে এবং নুগেটে (ফ্লুয়েন্টএফটিপি) উপলব্ধ available
আপনি .NET ফ্রেমওয়ার্কের সাথে আসা লাইব্রেরিগুলি ব্যবহার করবেন না কেন: http : //msdn.mic Microsoft.com/en-us/library/ms229718.aspx ?
সম্পাদনা: 2019 এপ্রিল https://stackoverflow.com/users/1527/ এর উত্তরটি আর বৈধ নয়। অন্যান্য উত্তরগুলি মাইক্রোসফ্ট দ্বারা অনুমোদিত হয়।
এগুলি মাইক্রোসফ্ট দ্বারা ডিজাইন করা হয়েছিল যারা তাদের আর ব্যবহার করার পরামর্শ দেয় না:
আমরা আপনাকে নতুন বিকাশের জন্য FtpWebRequest ক্লাস ব্যবহার করার পরামর্শ দিই না। FtpWebRequest এর আরও তথ্য এবং বিকল্পগুলির জন্য, দেখুন গিটারহাবের উপরে ওয়েবকোস্ট ব্যবহার করা উচিত নয়। ( https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest?view=netframework-4.7.7.2 )
'WebRequest ব্যবহার করা উচিত নয়' পৃষ্ঠাটি লাইব্রেরির চূড়ান্ত তালিকা হিসাবে এই প্রশ্নের পয়েন্টগুলিতে!
FtpWebRequest
শ্রেণী শুধুমাত্র সত্যিই সহজ জন্য কাজ করে, লেনদেনজনিত এফটিপি কর্ম যেমন ডাউনলোড বা পৃথক ফাইল আপলোড হিসাবে অনুরোধ / প্রতিক্রিয়া প্যাটার্ন আদলে করা যেতে পারে। এফটিপি ফোল্ডার কাঠামো তৈরি করা বা একই সেশনে আপলোড এবং ডাউনলোডের মতো কাজগুলি সম্পাদন করতে এটি ব্যবহার করা খুব কঠিন।
edtFTPnet সি। # তে লিখিত .NET এর জন্য একটি ফ্রি, দ্রুত, ওপেন সোর্স এফটিপি লাইব্রেরি।
আমি অ্যালেক্স এফটিপিএস ক্লায়েন্ট পছন্দ করি যা একটি মাইক্রোসফ্ট এমভিপি নাম অ্যালেক্স পাইলটি লিখেছেন। এটি একটি সি # লাইব্রেরি যা আপনি কনসোল অ্যাপস, উইন্ডোজ ফর্ম, পাওয়ারশেল, এএসপি.নেট (যে কোনও। নেট ভাষায়) ব্যবহার করতে পারেন। আপনার যদি একটি মাল্টিথ্রেডেড অ্যাপ থাকে তবে আপনাকে সিঙ্ক্রোনালি চালানোর জন্য লাইব্রেরিটি কনফিগার করতে হবে, তবে সামগ্রিকভাবে একটি ভাল ক্লায়েন্ট সম্ভবত আপনাকে যা প্রয়োজন তা আপনাকে পেয়ে যাবে।
আপনি কোডপ্লেক্সে বা http://www.enterprisedt.com/general/press/20060818.html এ ব্যবহার করতে পারেন
আমি সবে নিবন্ধ পোস্ট করেছি যা একটি এফটিপি ক্লায়েন্ট শ্রেণি এবং একটি এফটিপি ব্যবহারকারী নিয়ন্ত্রণ উভয়ই উপস্থাপন করে।
এগুলি সহজ এবং খুব দ্রুত নয়, তবে এটি ব্যবহার করা খুব সহজ এবং সমস্ত উত্স কোড অন্তর্ভুক্ত রয়েছে। ব্যবহারকারীদের আপনার অ্যাপ্লিকেশন থেকে এফটিপি ডিরেক্টরিতে নেভিগেট করার অনুমতি দেওয়ার জন্য কেবল একটি ফর্মের উপরে ব্যবহারকারীর নিয়ন্ত্রণটি ফেলে দিন।
একই ইস্যুতে প্রচুর তদন্তের পরে আমি এটিকে অত্যন্ত সুবিধাজনক বলে মনে করেছি: https://github.com/flagbug/FlagFtp
উদাহরণস্বরূপ (স্ট্যান্ডার্ড। নেট "লাইব্রেরি" দিয়ে এটি করার চেষ্টা করুন - এটি আসল ব্যথা হবে) -> এফটিপি সার্ভারে সমস্ত ফাইল পুনরুদ্ধার করে:
public IEnumerable<FtpFileInfo> GetFiles(string server, string user, string password)
{
var credentials = new NetworkCredential(user, password);
var baseUri = new Uri("ftp://" + server + "/");
var files = new List<FtpFileInfo>();
AddFilesFromSubdirectory(files, baseUri, credentials);
return files;
}
private void AddFilesFromSubdirectory(List<FtpFileInfo> files, Uri uri, NetworkCredential credentials)
{
var client = new FtpClient(credentials);
var lookedUpFiles = client.GetFiles(uri);
files.AddRange(lookedUpFiles);
foreach (var subDirectory in client.GetDirectories(uri))
{
AddFilesFromSubdirectory(files, subDirectory.Uri, credentials);
}
}
FtpListItem[] items = ftp.GetListing();//here you can get list with type, name, modified date and other properties. FtpFile file = new FtpFile(ftp, "8051812.xml");//file to get file.Download("c:\\8051812.xml");//download file.Name = "8051814.xml";//change name to get new file.Download("c:\\8051814.xml"); ftp.Disconnect();//close