如何将文件系统路径映射到 spring 中的 http url

How to map filesystem path to http url in spring

我正在开发一个允许用户上传文件的 spring web mvc 项目。我将这些上传的文件保存在应用程序上下文之外,以便它们在部署中持续存在。保存文件工作正常。我想知道将文件系统路径转换为 ​​HTTP url 的最佳方法,以便它可以保存在数据库中,也可以用于 HTML 资源等

提前致谢。

当您想使用 spring mvc 像访问静态资源一样访问文件系统中的文件时,答案(取自 here)是为静态资源添加一个条目,就像在您的小服务程序上下文:

示例:

<mvc:resources mapping="/images/**" location="file:/absolute/path/to/the/resource/folder/" />

在这种情况下,您仅使用一个资源将所有文件存储在同一服务器的同一路径中,那么您只能将文件名存储在数据库中。

在您的 html 标签中,您需要使用相对 url(了解您的上下文,以便您可以像 http://yourhost:port/context/resource/yourfile 一样访问您的文件)。

如果您想将文件存储在不同的服务器中,那么您应该添加另一个资源来源(但它必须作为另一个服务器的文件系统路径可用),因此在这种情况下存储在数据库中有一个值,如“resourcename/filename”。