【问题标题】:Handling uploaded files in Spring Boot在 Spring Boot 中处理上传的文件
【发布时间】:2017-09-06 18:07:13
【问题描述】:

我正在制作一个 Spring Boot 应用程序,我希望能够以表单的形式上传图像文件,将它们保存在服务器上的某个位置并显示这些图像。我设法使用 MultipartFile 将文件获取到我的控制器中,但是我不确定如何在本地保存文件以便以后使用它们。

我猜我必须以某种方式将文件保存在资源目录中,以便我可以在视图中访问它们。我还将在 heroku 上托管我的应用程序,但我不确定我在那里拥有什么样的文件系统访问权限。

谁能指出我的解决方案?

【问题讨论】:

    标签: spring heroku multipartform-data


    【解决方案1】:

    拥有 MultipartFile 后,您可以使用 FileCopyUtils.copy 静态方法将其上传到指定目录:

    FileCopyUtils.copy(multipartFile.getBytes(), new File("src/main/resources"));
    

    【讨论】:

    • 我明白了,但是如何获取资源目录的路径,以便将它们保存在那里?
    • 我正在使用它,但它不会创建文件。我使用heroku run bash ssh 进入实例并使用ls 一个目录,但我在那里看不到任何文件。奇怪的是,当我在同一个目录上使用Files.walk(dir, 1) 时,我得到了文件名!我的文件在哪里?试试这个应用程序:infinite-woodland-82366.herokuapp.com。您将在图像 src 属性中看到文件名,但该文件没有加载,并且当我 ls 时它不会出现在文件系统的任何位置。它如何列出文件名但我看不到它? github.com/geluso/SimpleHerokuSpringJavaUploads
    • @Pavindu 不,我不确定我曾经做过!
    猜你喜欢
    • 2017-03-14
    • 2018-10-08
    • 2017-12-30
    • 2019-04-15
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多