Điều tôi đang cố làm là tải lên trang web bằng FTP trong C# (C Sharp). Vì vậy, tôi cần phải tải lên tất cả các tệp và thư mục trong một thư mục, giữ cấu trúc của nó. Tôi đang sử dụng lớp FTP này: http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class để tải lên thực tế.C# Tải lên toàn bộ thư mục bằng cách sử dụng FTP
Tôi đã đi đến kết luận rằng tôi cần viết một phương thức đệ quy đi qua mọi thư mục con của thư mục chính và tải lên tất cả các tệp và thư mục trong đó. Điều này sẽ làm cho một bản sao chính xác của thư mục của tôi vào FTP. Vấn đề là ... Tôi không biết cách viết một phương pháp như thế. Tôi đã viết các phương pháp đệ quy trước đây nhưng tôi mới vào phần FTP.
Đây là những gì tôi có cho đến nay:
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);
}
}
}
Nhưng nó còn lâu mới hoàn và tôi không biết làm thế nào để tiếp tục. Tôi chắc chắn nhiều hơn tôi cần biết điều này! Cảm ơn trước :)
Ohh và ... Nó sẽ được tốt đẹp nếu nó báo cáo tiến độ quá :) (Tôi đang sử dụng một thanh tiến trình)
EDIT: Nó có thể đã không rõ ràng ... Làm cách nào để tải lên thư mục bao gồm tất cả các thư mục con và tệp bằng FTP?
Và câu hỏi là gì? – J0HN
Cho phép giải quyết một vấn đề đơn giản trước tiên. Viết một phương thức sẽ lặp qua từng Thư mục trong thư mục mẹ và tạo nó trên trang web được đề cập. Một khi bạn làm điều đó nó sẽ được dễ dàng, đủ để tải lên mỗi tập tin trong mỗi thư mục. Bạn không có đủ để chúng tôi giúp bạn. Tôi không thể tin rằng bạn có dây thần kinh để đưa ra yêu cầu tính năng ..... –
Để tạo thanh tiến trình, bạn sẽ cần phải tải tất cả các tệp cần được tải lên. Tôi sẽ lưu trữ đường dẫn tệp trong Danh sách. Sau đó lặp qua các đường dẫn tệp để tải chúng lên máy chủ FTP. Sau mỗi lần tải lên, hãy cập nhật tiến trình. Một thanh chính xác hơn có thể đạt được bằng cách lưu trữ kích thước của tệp với đường dẫn tệp. Sau đó, khi mỗi tệp được tải lên, hãy tăng tiến độ theo kích thước của tệp. Nếu bạn cần tôi có thể thêm một ví dụ sau. – Trisped