我想要做的是允许用户从本地系统中选择文件,然后通过SFTP将其上传到远程目录中。我的研究导致了下面的SSH.net实施
using Renci.SshNet;
using System.IO;
namespace YourProjectNamespace
{
class sftp
{
public static void UploadSFTPFile(string host, string username,
string password, string sourcefile, string destinationpath, int port)
{
using (SftpClient client = new SftpClient(host, port, username, password))
{
client.Connect();
client.ChangeDirectory(destinationpath);
using (FileStream fs = new FileStream(sourcefile, FileMode.Open))
{
client.BufferSize = 4 * 1024;
client.UploadFile(fs, Path.GetFileName(sourcefile));
}
}
}
}
}
string source = @"FilePath and FileName of Local File to Upload";
string destination = @"SFTP Server File Destination Folder";
string host = "SFTP Host";
string username = "User Name";
string password = "password";
int port = 22; //Port 22 is defaulted for SFTP upload
sftp.UploadSFTPFile(host, username, password, source, destination, port);
以上实现未显示用户如何选择文件。
我不确定是否可以使用,但是我认为我可以使用RadAsyncUpload控件,并且一旦选择了文件,就可以在调用{{1时使用临时文件路径作为源变量。 }}方法。
我愿意探索其他解决方法,但是我想知道这是否可行,以及如何在可能的情况下访问临时文件路径?