क्या आप C # के लिए एक निशुल्क FTP लाइब्रेरी (क्लास) सुझा सकते हैं।
कक्षा को अच्छी तरह से लिखा जाना है, और अच्छा प्रदर्शन करना है।
क्या आप C # के लिए एक निशुल्क FTP लाइब्रेरी (क्लास) सुझा सकते हैं।
कक्षा को अच्छी तरह से लिखा जाना है, और अच्छा प्रदर्शन करना है।
जवाबों:
आप FluentFTP पर विचार कर सकते हैं , जिसे पहले System.Net.FtpClient के रूप में जाना जाता है ।
यह द MIT लाइसेंस के तहत जारी किया गया है और यह NuGet (FluentFTP) पर उपलब्ध है।
आप .NET फ्रेमवर्क के साथ आने वाले पुस्तकालयों का उपयोग क्यों नहीं करते हैं: http://msdn.microsoft.com/en-us/library/ms229718.aspx ?
EDIT: 2019 अप्रैल https://stackoverflow.com/users/1527/ द्वारा किया गया यह उत्तर अब मान्य नहीं है। अन्य उत्तर Microsoft द्वारा समर्थित हैं।
वे Microsoft द्वारा डिज़ाइन किए गए थे जो अब अनुशंसा नहीं करते हैं कि उनका उपयोग किया जाए:
हम अनुशंसा नहीं करते हैं कि आप नए विकास के लिए FtpWebRequest वर्ग का उपयोग करें। FtpWebRequest की अधिक जानकारी और विकल्पों के लिए, देखें GitHub पर WebRequest का उपयोग नहीं किया जाना चाहिए। ( https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest?view=netframework-4.7.2 )
पुस्तकालयों की निश्चित सूची के रूप में इस प्रश्न के लिए 'WebRequest का उपयोग नहीं किया जाना चाहिए' पृष्ठ!
FtpWebRequest
वर्ग केवल बहुत आसान के लिए काम करता है, लेन-देन संबंधी एफ़टीपी कार्यों, इस तरह के डाउनलोड करने या अलग-अलग फ़ाइलों को अपलोड करने के रूप में है कि अनुरोध / प्रतिक्रिया तर्ज पर तैयार किया जा सकता। एफ़टीपी फ़ोल्डर संरचना बनाने या उसी सत्र में अपलोड और डाउनलोड करने जैसे कार्यों को करने के लिए इसका उपयोग करना बहुत मुश्किल है।
edtFTPnet .NET के लिए एक मुफ़्त, तेज़, खुला स्रोत एफ़टीपी लाइब्रेरी है, जिसे C # में लिखा गया है।
मुझे एलेक्स FTPS क्लाइंट पसंद है जो एक Microsoft MVP नाम एलेक्स पिलोटी द्वारा लिखा गया है। यह एक C # लाइब्रेरी है जिसका उपयोग आप कंसोल एप्स, विंडोज फॉर्म, पावरशेल, ASP.NET (किसी भी .NET लैंग्वेज में) कर सकते हैं। यदि आपके पास एक मल्टीथ्रेडेड ऐप है, तो आपको सिंक्रोनाइज़ करने के लिए लाइब्रेरी को कॉन्फ़िगर करना होगा, लेकिन कुल मिलाकर एक अच्छा क्लाइंट जो आपको सबसे अधिक संभावना है, जो आपको चाहिए।
आप CodePlex या http://www.enterprisedt.com/general/press/20060818.html पर लोगों का उपयोग कर सकते हैं
मैंने सिर्फ एक लेख पोस्ट किया है जो एफ़टीपी ग्राहक वर्ग और एफ़टीपी उपयोगकर्ता नियंत्रण दोनों प्रस्तुत करता है।
वे सरल हैं और बहुत तेज़ नहीं हैं, लेकिन उपयोग करना बहुत आसान है और सभी स्रोत कोड शामिल हैं। उपयोगकर्ताओं को आपके एप्लिकेशन से FTP निर्देशिकाओं को नेविगेट करने की अनुमति देने के लिए उपयोगकर्ता नियंत्रण को बस एक फॉर्म पर छोड़ दें।
एक ही मामले में बहुत सारी जांच के बाद मुझे यह बहुत सुविधाजनक लगा: https://github.com/flagbug/FlubFpp
उदाहरण के लिए (मानक .net "पुस्तकालय" के साथ ऐसा करने का प्रयास करें - यह एक वास्तविक दर्द होगा) -> FTP सर्वर पर सभी फ़ाइलों को पुन: पुनर्प्राप्त करना:
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