【问题标题】:Spring MVC upload and stream to FTPSpring MVC 上传和流式传输到 FTP
【发布时间】:2016-03-11 13:35:11
【问题描述】:

我遇到了需要使用 Spring MVC 将文件传输到 FTP 的问题。场景是用户将文件上传到 Spring Boot Server,然后服务器将文件传输到 FTP。

问题是文件可能很大。有没有办法(除了将文件存储在磁盘上 - 我想避免这种情况)在文件上传到 Spring 服务器时将文件流式传输到 FTP?这样 Spring 服务器就像某种 FTP 代理一样工作。

使用常规方式,我假设 Spring 必须接收整个文件,然后才能将其传输到 FTP。在此过程中,必须将整个文件保存在内存中。我对吗?

如何避免将文件保存在内存中?

【问题讨论】:

    标签: java spring spring-mvc ftp


    【解决方案1】:

    您可能会对这个问题的答案感兴趣。虽然我自己没有试过。但它的要点是,你打开一个到 FTP 端点的URL 连接并写入它的OutputStream

    FtpOutputStream or similar in standard Java

    【讨论】:

    • 感谢您的回答。但是我得到了“上传到ftp”的内容。我没有得到的部分是“接收上传到 Spring 并将其直接传输到输出流而不将文件存储在内存中”。
    • 我不确定 Spring 是否提供了一种开箱即用的方式来通过 FTP 将文件上传到远程服务器。不过,通过查看文档,您可以使用 CommonsMultipartResolver。如果您能够将 NFS 目录映射到远程服务器而不使用 FTP,那么您可以使用该 NFS 映射作为存储上传文件的临时目录,使用 CommonsMultipartResolver。
    猜你喜欢
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多