【问题标题】:File download from SFTP server on ASP.NET page从 ASP.NET 页面上的 SFTP 服务器下载文件
【发布时间】:2018-06-14 07:31:34
【问题描述】:

我在 Ubuntu 16.04 上有 SFTP 服务器,在 ASP Core 2.0 上有一个带有 REST API 的站点。

问题是我想提供指向服务器上文件的直接链接,但我不知道该怎么做。我想它必须通过 API 来完成,但是怎么做呢?我可以通过 API 下载文件并将其提供给用户,但会有两次时间(通过 API 从服务器下载和用户从 API 下载)。我在一些网站上看到了带有一些访问令牌的文件链接。可能我应该使用这种方式吗?有什么想法吗?

【问题讨论】:

    标签: asp.net .net asp.net-web-api sftp


    【解决方案1】:

    但会有两次

    不一定。

    您只需使用流式 API 并将数据从输入 SFTP 流连续传递到输出 HTTP 流。

    以下是一些 FTP 示例:

    使用 SFTP 也一样,只是您需要使用 SFTP library(.NET 中不支持 SFTP)而不是 FtpWebRequest

    特别是SSH.NET library 有一个流式API。检查其SftpClient.DownloadFile 方法:

    public void DownloadFile(string path, Stream output, Action<ulong> downloadCallback = null)
    

    你可以简单地使用它:

    sftpClient.DownloadFile(path, Response.OutputStream);
    

    【讨论】:

      猜你喜欢
      • 2016-02-02
      • 2018-03-21
      • 1970-01-01
      • 2013-08-30
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多