ASP.NET使用浏览器下载SFTP文件

我试图使用C#和asp.net下载SFTP文件(.csv),但所有示例都需要我有一个远程文件目录。ASP.NET使用浏览器下载SFTP文件

对于这种情况,我需要浏览器下载文件,而不是放在目录中,因为浏览器(客户端)无法直接将文件放入目录。

有没有人以前做过这个?

我试图使用SSH.NET,但没有找到办法做到这一点。

回答:

解决了这个,通过SFTP将文件移动到我的服务器,然后normaly下载文件。

string host = @"host"; 

string username = "user";

string password = "pass";

string remoteDirectory = "/remote";

string localDirectory = Server.MapPath(@"\pdf\");

using (var sftp = new SftpClient(host, username, password))

{

sftp.Connect();

var files = sftp.ListDirectory(remoteDirectory);

foreach (var file in files)

{

string remoteFileName = file.Name;

if (remoteFileName == "APADEAATTT.csv")

{

using (Stream file1 = File.OpenWrite(localDirectory + "APADEAATTT.csv"))

{

sftp.DownloadFile(remoteDirectory + "APADEAATTT.csv", file1);

}

}

}

}

FileInfo fileInfo = new FileInfo(localDirectory+"APADEAATTT.csv");

Response.Clear();

Response.AddHeader("Content-Disposition", "attachment;filename=" + fileInfo.Name);

Response.AddHeader("Content-Length", fileInfo.Length.ToString());

Response.ContentType = "text/csv";

Response.Flush();

Response.WriteFile(fileInfo.FullName);

Response.End();

以上是 ASP.NET使用浏览器下载SFTP文件 的全部内容, 来源链接: utcz.com/qa/266440.html

回到顶部