java - 直接在 tomcat 文件夹中创建图像存储(Java)
问题描述
我在网上和这里搜索,找不到这个相当简单的问题的结论性答案。我正在使用 Java+MySQL+HTML 和 CSS。
我创建了一个 webapp,在这个 webapp 中,用户可以将照片路径上传到数据库。同时,我正在创建一个完全在 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 页面中返回给他。
编辑:好的,所以我终于从这里收到了一条消息,如何使用 java 程序在 tomcat 网络服务器中创建文件夹?来自 BalusC 说:
“请注意,您不应将文件存储在扩展的 WAR 文件夹中,否则每次重新部署 webapp 时它们都会丢失。将它们存储在 Tomcat 的 /webapps 文件夹之外的固定路径中。”
我相信这意味着我可以像 \Desktop\ApacheTomcat\apache-tomcat-9.0.24\TripAppImages 这样存储图像。只要它们不在 webapp 文件夹中,就意味着它们不会被覆盖。
解决方案
您应该避免的唯一文件夹是temp
,及其子文件夹webapp
,work
因为是的,这些文件夹可以在部署和清理期间替换或删除其内容,tomcat 中的每个其他文件夹都可以被视为“只是一个文件夹”,如果你不这样做' t 修改它的内容,你可以使用你想要的方式。当然,例如将视频存储在其中是不正常或不标准的,Tomcat\bin
但是如果您不触摸那里的原始文件,则可以这样做。
所以从技术上讲,您可以创建一个类似的文件夹\Desktop\ApacheTomcat\apache-tomcat-9.0.24\icecream
并将图像放在那里,它不会被部署删除或替换。
如果它只适合您,无论是否是临时production
的,只要避开开头提到的三个文件夹就可以了。
推荐阅读
- javascript - 如何在 JS 中按字母顺序对 HTML 标签进行排序?
- sql-server - SSIS如何使用作业运行.net core Action
- python - 如何正确使用 Cross Entropy Loss vs Softmax 进行分类?
- javascript - 空字节注入如何工作?
- python - 十进制到bin递归函数python
- python - 使用事件溯源时读取 GraphQL 突变结果
- reactjs - React & Redux - 在 useEffect 中调用 API 后处理状态突变
- javascript - 如何使循环遍历枚举的每个项目并验证每个重复是否在正确的枚举中
- mysql - MySQL 检查约束违规
- android - 配置项目“:CordovaLib”时出现问题。> 无法解析配置 ':CordovaLib:classpath' 的所有工件:Ionic3