【问题标题】:How to set tomcat springboot project upload file path?如何设置tomcat spring boot项目上传文件路径?
【发布时间】:2018-05-18 21:24:28
【问题描述】:

我有一个 springboot 项目。使用 WAR 包,在远程 tomcat 服务器 webapps 目录上。 ROOT为WAR项目,有WEB-INF和META-INF两个文件夹。如下图

现在有一个问题,我在项目根目录'upload-dir'目录上传文件(可以看到下图中的upload-dir位置)。不在 WAR 包中,也不在远程服务器上。我应该在远程服务器的哪里创建这个新目录?

我使用 Files.createDirectories 来创建文件夹。

【问题讨论】:

  • 上传目录需要绝对路径,试试改成c:/tmp/upload-dir看看能不能用。
  • 本地运行项目没有问题。并且“上传目录”位于项目的根路径中。不需要绝对路径。
  • 因为你的服务器对你的project root path一无所知
  • 我试试,谢谢

标签: java spring tomcat spring-boot war


【解决方案1】:

为此,您可以创建一个文件夹路径,例如 /home/upload_dir

现在通过您的应用程序使用应用程序中的绝对路径将文件上传到此文件夹。在server.xml 文件中为此上传目录路径创建CONTEXT PATH,如下所示。

<Context 
  docBase="/home/upload_dir" 
  path="/uploads" 
  reloadable="true" 
/>

我假设您正在将一些图像上传到此文件夹。现在您可以使用 url 在应用程序中显示图像,例如:localhost:8080/uploads/imageName

为了生产,您可以在 server.xml 中创建带有某个子域的 HOST,并使用指定的 URL (For eg: img.facebook.com/image) 访问上传的文件

【讨论】:

  • 可能我描述的不是很清楚,你的方法和我的问题有偏差。但是我的问题已经解决了。非常感谢你帮助我。
【解决方案2】:

在 Linux 服务器上,此文件夹位于 /root 目录下。

我的英语不好。当我谈论我的问题时,我可能说得不够好。但我希望我能帮助其他有同样问题的人。

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 2021-05-18
    • 2019-12-25
    • 2017-04-13
    • 1970-01-01
    • 2015-06-19
    • 2015-07-19
    • 1970-01-01
    相关资源
    最近更新 更多