代码之家  ›  专栏  ›  技术社区  ›  kboom

Apache Mina SSHd SFTP服务器-提前获取上载的文件大小,使用多部分上载将其转发到S3

  •  1
  • kboom  · 技术社区  · 8 年前

    据我所知,Apache MINA SSHd SFTP服务器所基于的标准 here ,这意味着无需事先发送有关所传输文件大小的信息(服务器不应要求发送)-换句话说,在完成传输之前,我们永远不知道所传输文件的大小,或者使用的客户端将其作为文件元数据发送。这是正确的吗?如何读取此元数据?哪些SFTP客户端发送该信息?

    这些问题对于解决将较大文件传输到S3存储桶(用作SFTP的底层存储)的问题非常重要。如果您事先不知道文件的大小,则无法进行多部分上载,因此必须首先存储整个文件,然后才执行实际上载-这会导致SFTP会话超时。。。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Martin Prikryl    6 年前

    哪些SFTP客户端发送该信息?

    WinSCP有。

    PSFTP/FileZilla和OpenSSH sftp 不要这样做。

    如果您事先不知道大小,则无法进行多部分上载

    我认为你的说法不对。S3里什么都没有 CreateMultipartUpload 请求有关实际文件大小或上载部分数量的信息。