का उपयोग कर पूरी निर्देशिका अपलोड करें जो मैं करने की कोशिश कर रहा हूं वह सी # (सी शार्प) में एफ़टीपी का उपयोग कर वेबसाइट अपलोड करना है। इसलिए मुझे अपनी संरचना को बनाए रखने, फ़ोल्डर में सभी फ़ाइलों और फ़ोल्डरों को अपलोड करने की आवश्यकता है। मैं वास्तविक अपलोडिंग के लिए इस एफ़टीपी कक्षा का उपयोग कर रहा हूं: http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class।सी # एफ़टीपी
मैं इस निष्कर्ष पर आया हूं कि मुझे एक रिकर्सिव विधि लिखनी है जो मुख्य निर्देशिका की प्रत्येक उप-निर्देशिका के माध्यम से जाती है और इसमें सभी फाइलें और फ़ोल्डर्स अपलोड करती है। यह मेरे फ़ोल्डर की एक सटीक प्रति एफ़टीपी में बनाना चाहिए। समस्या यह है कि ... मुझे इस तरह की कोई विधि लिखने का कोई संकेत नहीं है। मैंने पहले रिकर्सिव विधियों को लिखा है लेकिन मैं एफ़टीपी भाग में नया हूं।
यह वही है मैं अब तक है:
private void recursiveDirectory(string directoryPath)
{
string[] filePaths = null;
string[] subDirectories = null;
filePaths = Directory.GetFiles(directoryPath, "*.*");
subDirectories = Directory.GetDirectories(directoryPath);
if (filePaths != null && subDirectories != null)
{
foreach (string directory in subDirectories)
{
ftpClient.createDirectory(directory);
}
foreach (string file in filePaths)
{
ftpClient.upload(Path.GetDirectoryName(directoryPath), file);
}
}
}
लेकिन इसकी किया है और मैं जारी रखने के लिए पता नहीं कैसे दूर से। मुझे यकीन है कि मुझे इससे ज्यादा जानने की ज़रूरत है! अग्रिम धन्यवाद :)
ओह और ... में यह अच्छा होगा अगर वह अपनी प्रगति भी सूचना दी :) (मैं एक प्रगति बार उपयोग कर रहा हूँ) होगा
संपादित करें: यह स्पष्ट नहीं हो सकता है ... मैं एफ़टीपी के साथ सभी उप-निर्देशिकाओं और फ़ाइलों सहित निर्देशिका कैसे अपलोड करूं?
और सवाल है? – J0HN
पहले एक साधारण समस्या को हल करने दें। एक विधि लिखें जो प्रत्येक फ़ोल्डर के माध्यम से पैरेंट फ़ोल्डर में लूप करेगी और इसे वेबसाइट पर प्रश्न में बनायेगी। एक बार ऐसा करने के बाद, उन प्रत्येक फ़ोल्डर में प्रत्येक फ़ाइल को अपलोड करने के लिए पर्याप्त आसान होना चाहिए। आपकी मदद करने के लिए हमारे पास पर्याप्त नहीं है। मुझे विश्वास नहीं है कि फीचर अनुरोध करने के लिए आपके पास तंत्रिका है ..... –
प्रगति पट्टी बनाने के लिए आपको अपलोड की जाने वाली सभी फाइलें प्राप्त करने की आवश्यकता होगी। मैं एक सूची में फ़ाइल पथ स्टोर करेंगे। फिर फ़ाइल पथ के माध्यम से उन्हें FTP सर्वर पर अपलोड करने के लिए लूप करें। प्रत्येक अपलोड के बाद प्रगति को अद्यतन करें। फ़ाइल पथ के साथ फ़ाइल के आकार को संग्रहीत करके एक और सटीक बार प्राप्त किया जा सकता है। फिर प्रत्येक फ़ाइल अपलोड होने पर फ़ाइल के आकार से प्रगति में वृद्धि होती है। यदि आपको आवश्यकता है तो मैं बाद में एक उदाहरण जोड़ सकता हूं। – Trisped