Khả năng này có đi kèm với .Net không? Nếu không, thư viện miễn phí tốt nhất là gì? Tôi cần một cái gì đó mà sẽ ném ngoại lệ tốt khi có một vấn đề, và cho phép tôi theo dõi sự tiến bộ của nó.Làm cách nào để tải tệp lên máy chủ SFTP trong C#/.NET?
Trả lời
Edit: câu trả lời này là từ lâu lắm rồi và không còn giá trị. Xem nhận xét
Bạn có thể muốn xem qua SharpSSH. Nó hỗ trợ SFTP ra khỏi hộp và đó là OpenSource.
SharpSSH dường như được dựa trên các thư viện Java (JSch và JCE) và duyệt mã nguồn mở rộng đã không làm cho tôi tự tin rằng thư viện này có thể được sử dụng trong môi trường sản xuất. Một thử nghiệm căng thẳng nhỏ dẫn đến ngoại lệ bất ngờ. –
Thật không may SharpSSH không được hỗ trợ và không ổn định cho sản xuất. Một cái gì đó thương mại như SFTPBlackbox của chúng tôi (http://www.sftp-net.com/) sẽ hoạt động tốt hơn. –
Tôi đồng ý, trông khá kém chất lượng đối với tôi. Tôi không thích điều java port "tại chỗ" mà anh ta đang thực hiện ở đây. – Jeff
Không có giải pháp cho điều này trong khuôn khổ .net.
http://www.eldos.com/sbb/sftpcompare.php phác thảo một danh sách các tùy chọn không có miễn phí.
đặt cược miễn phí tốt nhất của bạn là mở rộng SSH bằng Granados. http://www.routrek.co.jp/en/product/varaterm/granados.html
Nó không giống như Granados có thể được sử dụng trong môi trường sản xuất: nó đã lỗi thời và dường như không được hỗ trợ. –
Thật không may, nó không nằm trong .NET Framework. Mong muốn của tôi là bạn có thể tích hợp với FileZilla, nhưng tôi không nghĩ rằng nó cho thấy một giao diện. Họ có kịch bản tôi nghĩ, nhưng nó sẽ không rõ ràng như vậy.
Tôi đã sử dụng CuteFTP trong một dự án có SFTP. Nó cho thấy một thành phần COM mà tôi đã tạo ra một trình bao bọc .NET. Việc nắm bắt, bạn sẽ tìm thấy, là quyền. Nó chạy đẹp dưới các thông tin đăng nhập Windows cài đặt CuteFTP, nhưng chạy dưới các ủy nhiệm khác yêu cầu quyền được đặt trong DCOM.
Có thể bạn có thể viết/kiểm soát winscp?
Cập nhật: WinSCP hiện có a .NET library sẵn như là một nuget package hỗ trợ SFTP, SCP, và FTPS
Điểm tốt. Tôi tìm thấy hướng dẫn để thực hiện chính xác điều đó: http://winscp.net/eng/docs/guide_dotnet – Raithlin
[phiên bản mới nhất] (http://winscp.net/eng/docs/library) giờ đây thậm chí có hỗ trợ .NET gốc. ! – fretje
Sự cố khi tải lên thư mục từ xa không phải gốc. Tài liệu nói rằng bạn phải sử dụng đường dẫn tuyệt đối của máy chủ ("d: \ ftproot \ etc"), điều đó thật lố bịch trong quan điểm của tôi. Ngay cả khi được trang bị kiến thức đó, tôi cũng không bao giờ có thể lấy được tập tin mà tôi muốn nó đi. –
Để có tùy chọn không miễn phí khác, hãy thử edtFTPnet/PRO. Nó có hỗ trợ toàn diện cho SFTP, và cũng hỗ trợ FTPS (và dĩ nhiên là FTP) nếu được yêu cầu.
Mã sau cho biết cách tải tệp lên máy chủ SFTP bằng cách sử dụng thành phần Rebex SFTP của chúng tôi.
// create client, connect and log in
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);
// upload the 'test.zip' file to the current directory at the server
client.PutFile(@"c:\data\test.zip", "test.zip");
client.Disconnect();
Bạn có thể ghi nhật ký giao tiếp đầy đủ vào tệp bằng cách sử dụng thuộc tính LogWriter như sau. Ví dụ đầu ra (từ thành phần FTP nhưng đầu ra SFTP tương tự) có thể được tìm thấy here.
client.LogWriter = new Rebex.FileLogWriter(
@"c:\temp\log.txt", Rebex.LogLevel.Debug);
hoặc chặn các giao tiếp sử dụng các sự kiện như sau:
Sftp client = new Sftp();
client.CommandSent += new SftpCommandSentEventHandler(client_CommandSent);
client.ResponseRead += new SftpResponseReadEventHandler(client_ResponseRead);
client.Connect("sftp.example.org");
//...
private void client_CommandSent(object sender, SftpCommandSentEventArgs e)
{
Console.WriteLine("Command: {0}", e.Command);
}
private void client_ResponseRead(object sender, SftpResponseReadEventArgs e)
{
Console.WriteLine("Response: {0}", e.Response);
}
Để biết thêm thông thấy tutorial hoặc download một thử nghiệm và kiểm tra samples.
Thử nghiệm giới hạn của tôi về các máy khách .NET SFTP khác nhau cho thấy rằng sản phẩm thương mại này là lựa chọn tốt. –
Tôi đã sử dụng công cụ RebEx trước khi cũng cần sử dụng nó cho gói SSIS. Họ có hỗ trợ tốt và tài liệu hướng dẫn nếu bạn đang tìm kiếm để đi qua một tuyến đường thương mại bên thứ 3. –
- 1. Tải tệp lên SFTP
- 2. Làm cách nào để tải tệp lên máy chủ FTP?
- 3. Silverlight 4: Tải tệp lên máy chủ
- 4. Tải tệp lên máy chủ Node JS
- 5. Làm cách nào để xóa tệp khỏi máy chủ SFTP lập trình bằng SharpSSH?
- 6. Tải tệp tin lên php lên máy chủ php khác
- 7. Cách tải tệp lên máy chủ qua FTP bằng R?
- 8. Làm cách nào để giới hạn tốc độ tải lên từ máy chủ trong node.js?
- 9. Làm cách nào để tải hình ảnh lên máy chủ FTP trong ứng dụng Android?
- 10. Tải xuống tệp từ máy chủ SFTP bằng cách sử dụng JSch
- 11. Khách hàng SFTP miễn phí với dll để tải lên và tải xuống tệp trong C#
- 12. Thư viện máy chủ SFTP Java?
- 13. Quá trình tải lên/tải xuống JSch sftp
- 14. Tải lên Máy chủ Từ xa
- 15. Xử lý tải lên được tải lên của các bản tải lên ở phía máy chủ
- 16. Tôi làm cách nào để đọc tệp CSV đã tải lên mà không lưu tệp vào Máy chủ?
- 17. Tải tệp lên máy chủ FTP trên iPhone
- 18. Tải lên tệp máy chủ từ xa qua PHP
- 19. Làm cách nào để xử lý các tệp tải lên rất lớn trong máy chủ web Erlang?
- 20. cách tải hình ảnh lên máy chủ trong Android?
- 21. Tôi làm cách nào để sử dụng Tác vụ không đồng bộ để tải tệp lên máy chủ?
- 22. Làm cách nào để kích hoạt tệp tải lên bằng Trình tải tệp lên Valums Ajax?
- 23. Biểu mẫu tải lên có thể tải tệp lên máy chủ khác không?
- 24. Tôi làm cách nào để tải ảnh lên máy chủ bằng iPhone?
- 25. Cách tải lên tệp trong Dart?
- 26. Làm thế nào để tải hình ảnh lên máy chủ Php và lưu trữ trong phpmyadmin
- 27. Tải tệp lên máy chủ tệp bằng cách sử dụng lớp webclient
- 28. Làm cách nào để bạn tải nhiều tệp lên AFNetworking
- 29. cách tải tệp lên máy chủ từ xa http bằng cách sử dụng java?
- 30. tệp jar để sử dụng rsync để tải lên và tải xuống tệp trên máy chủ linux
cũng xem các câu hỏi [Thư viện SFTP cho .NET] (http://stackoverflow.com/questions/530330/sftp-libraries-for-net) và [mô-đun FTP/SFTP cho .NET] (http: // stackoverflow.com/questions/2731967/ftp-sftp-module-for-net) –
Một lựa chọn khác là Renci SSH.NET. – CodesInChaos