【问题标题】:Download file to browser from SFTP server in ASP.NET using SSH.NET使用 SSH.NET 从 ASP.NET 中的 SFTP 服务器将文件下载到浏览器
【发布时间】:2021-08-08 09:50:40
【问题描述】:

使用 SSH.NET,我试图触发浏览器下载文件,而不是直接将其写入本地文件存储。

using(var saveFile = File.OpenWrite(@"Downloads")) {
  result = client.BeginDownloadFile(remotePath + fileName, saveFile) as SftpUploadAsyncResult;

  client.EndUploadFile(result);
}

上述代码失败,因为我的应用程序池身份没有写入文件的权限,并且我无法授予权限,因为我没有计算机的管理员权限。

因此,更好的选择是通过之前使用 FtpWebRequest 的浏览器触发下载。

但我目前的任务是将 FTP 下载转换为 SFTP 下载。

有人可以建议触发浏览器下载的最佳方法吗?

【问题讨论】:

    标签: c# asp.net .net sftp ssh.net


    【解决方案1】:

    下载文件到HttpResponse.OutputStream:

    HttpResponse response = HttpContext.Current.Response;
    
    response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
    
    client.DownloadFile(remotePath + fileName, response.OutputStream);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多