我在网上和这里进行了搜索,但找不到这个相当简单的问题的结论性答案。我正在使用 Java+MySQL+HTML 和 CSS。
我创建了一个Web应用程序,在这个Web应用程序中,用户可以将照片路径上传到数据库。同时,我正在完全在tomcat之外创建一个文件夹,以将插入的图像复制到那里。该文件夹位于我的桌面上,就像我在本地主机上一样,但我希望将存储存储在服务器上而不是我的桌面上。
检查 stackoverflow 后,我发现将照片/图像存储在 tomcats webapp/AppName 文件夹中是不好的,因为这会在重新部署时一直覆盖图像,而我不想这样做。
我的 tomcat 文件夹位于桌面上。我可以在此处创建一个文件夹来存储此特定应用程序的图像吗:
\Desktop\ApacheTomcat\apache-tomcat-9.0.24\?
该文件夹将被称为 TripAppImages,如\Desktop\ApacheTomcat\apache-tomcat-9.0.24\TripAppImages,并且除了所有 tomcats 之外,还有其他文件夹,如 bin、conf 等。我还将使用此文件夹来显示图像用户在 html 页面中插入 , 返回给他。
编辑:好吧,我终于收到了来自这里的消息 how to create a folder in tomcat webserver using java program?来自 BalusC 的内容是:
"Please note that you shouldn't store the files in the expanded WAR folder, or they will get lost every time you redeploy the webapp. Store them on a fixed path outside Tomcat's /webapps folder."
我相信这意味着我可以像这样存储图像\Desktop\ApacheTomcat\apache-tomcat-9.0.24\TripAppImages。只要它们不在 webapp 文件夹中,就意味着它们不会被覆盖。
最佳答案
您应该避免的唯一文件夹是 temp
、webapp
、work
及其子文件夹,因为是的,这些文件夹的内容可以被替换或者在部署和清理期间删除,tomcat 中的所有其他文件夹都可以被视为“只是一个文件夹”,如果您不修改其内容,您可以按照您想要的方式使用。当然,例如,将视频存储在 Tomcat\bin
中是不正常或标准的,但如果您不接触那里的原始文件,您就可以做到这一点。
所以从技术上讲,您可以创建一个像 \Desktop\ApacheTomcat\apache-tomcat-9.0.24\icecream
这样的文件夹,并将图像放在那里,它不会被部署删除或替换。
如果它只是适合您,无论是临时的还是生产
,只需避开开头提到的三个文件夹即可。
关于java - 直接在tomcat文件夹中创建图像存储(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60525312/