0

我很难将图像上传到公用文件夹。公用文件夹是 Webapp 文件夹内的 WEB-INF 的兄弟。

尝试 this.getClass().getResource("/images/16x16").toString()返回空指针异常。

我已将图像文件夹添加为资源

    <mvc:resources mapping="/images/**" location="/public/images/" />

有没有办法做到这一点?感谢您阅读本文

4

1 回答 1

3

首先,您不应该考虑可以访问 webapp 的文件夹来写入文件。该应用程序可以部署为一个战争文件,如果您重新部署该应用程序,您将丢失所有上传的文件。将上传的文件存储在其他地方。

其次,Class.getResource()从类路径加载资源。它不会从文件系统或 webapp 的上下文中加载。Class.getResource()只会找到存储在 WEB-INF/classes、WEB-INF/lib 的 jar 之一或容器类路径的 jar 中的资源。

如果您需要从 webapp 的上下文中加载某些内容(在这种情况下您不应该这样做),请使用ServletContext.getResource()(或getResourceAsStream()

于 2012-02-08T14:05:18.047 回答