gpt4 book ai didi

java - 上传中保存文件的路径我真的应该选择 getServletContext 吗?

转载 作者:行者123 更新时间:2023-12-01 15:11:38 24 4
gpt4 key购买 nike

这是我的情况:

  • 我的表格必须有一个按钮来显示图像,我正在数据库中插入数据,其中仅包含图像文件的名称​​(文件名.jpg),而不是特定的路径,服务器将根据它是否在真实服务器中的上下文来显示它。经过长时间的搜索,我找到了方法 getServletContext().getRealPath("/images")谁找到粘贴所在的上下文,例如本地主机或真实主机(至少我是这么理解的)。

但是,当我在本地主机时,它会显示该方法的上下文

getServletContext().getRealPath("/images"):

C:\Documents and Settings\josue\Meus documentos\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testeDeFuncoes\images\file.jpg

我推断它正在调用临时文件夹的上下文,该文件夹仅为本地主机测试而创建。要在本地主机中恢复它,我认为可以工作,但是在真实服务器中可以工作,我认为不行,对吧?

我可以以动态方式放入 Webcontent,当我导出 WAR 文件时,它会存储在文件中,并且在上传时,无论服务器决定选择哪个位置,它都可以工作。如果没有,在大多数情况下通常用什么来制作网页?

最佳答案

您可以考虑将图像存储在数据库中,具体取决于您的需要,请参阅 Storing Images in DB - Yea or Nay?

我个人非常喜欢将图像存储在数据库中并将它们缓存在本地文件系统上的临时目录中。

无论哪种方式,您都应该有一个可靠的已知规范位置来存储图像。如果您不将它们存储在数据库中,请选择一个非临时目录,或使其可配置。

Web 应用程序可能通过 war 文件提供服务,并且 servletContext.getRealPath(...) 不太可能返回存储任何内容的可靠位置。

关于java - 上传中保存文件的路径我真的应该选择 getServletContext 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12268968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com