Spring提供静态资源,doc文件可以找到,但图像不能

时间:2018-04-10 09:12:35

标签: java spring spring-mvc

我遇到一个奇怪的问题作为标题。这是我的静态资源配置。

<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/files/**" location="#{'file:' + filePathDefinition.getFileServerDirectory()}" />

其中第二行位置值将呈现为file:/mnt/upload

/mnt/upload中的文件:

drwxr-xr-x  6 kuen-honglin  wheel     192 Apr 10 16:59 .
drwxrwxr-x  5 kuen-honglin  wheel     160 Apr  9 15:28 ..
-rw-r--r--  1 kuen-honglin  wheel  634119 Apr 10 15:18 2.png
-rw-r--r--@ 1 kuen-honglin  wheel       5 Apr  9 15:28 a.txt
-rw-r--r--@ 1 kuen-honglin  staff    7732 Apr  9 15:29 temp.pdf
drwxr-xr-x  6 kuen-honglin  wheel     192 Apr 10 11:22 twfcc

当我访问http://localhost:8080/gs_web/files/a.txthttp://localhost:8080/gs_web/files/temp.pdf时,它运行正常。但如果我访问http://localhost:8080/gs_web/files/2.png,我会收到404错误。

另一项测试:

我将doc文件放在webapp/resources文件夹中,它有效。

有没有人对这个问题有所了解?

1 个答案:

答案 0 :(得分:0)

我发现我做了一件蠢事。当我打开弹簧调试日志时,它显示它已发送给jawr处理程序。我的下巴配置如下:

sr = sc.addServlet("BinaryServlet", "net.jawr.web.servlet.JawrServlet");
sr.setInitParameter("configLocation", "/jawr.properties");
sr.setInitParameter("type", JawrConstant.BINARY_TYPE);
sr.addMapping("*.jpg", "*.png", "*.gif", "*.woff", "*.woff2", "*.ttf", "*.svg", "*.eot");
sr.setLoadOnStartup(0);

因此所有图像文件都被分派到jawr处理程序。

感谢你们所有的好建议:)