我正在开发一个spring web mvc项目,该项目允许用户上传文件。我将这些上载的文件保存在应用程序上下文之外,以便它们在部署中保持不变。保存文件工作正常。我想知道将文件系统路径转换为HTTP URL的最佳方法,以便它可以保存在数据库中,也可以在HTML等资源中使用。
提前致谢。
答案 0 :(得分:2)
当您想使用spring mvc访问文件系统中的文件(如静态资源)时,答案(取自here)是为静态资源提供一个类似于servlet上下文的条目:
示例:
<mvc:resources mapping="/images/**" location="file:/absolute/path/to/the/resource/folder/" />
在这种情况下,您只使用一个资源将同一路径中的所有文件存储在同一服务器中,然后您只能在db中存储文件名。
在您的html标记中,您需要使用相对网址(了解您的上下文,以便您可以像http://yourhost:port/context/resource/yourfile
一样访问您的文件)。
如果您想将文件存储在不同的服务器中,那么您应该添加另一个资源源(但它必须作为另一个服务器的文件系统路径提供),因此在这种情况下,存储在数据库的值类似于&#34; resourcename/filename
&#34;。