我的项目在 Spring MVC 中,运行 tomcat7 和 nginx。 我将用户添加的所有多媒体上传到/home/multimedia。
我想从那里向用户展示多媒体。我该怎么办?
我找到了 PHP 的解决方案,但它没有回答我的问题。
最佳答案
你可以走两条路。第一个开销最少。如果需要可配置的位置,第二个更方便。
1。使用 Nginx 服务静态文件
为目标目录创建一个别名。
location /media {
alias /home/multimedia;
expires 1y;
}
2。使用 Spring MVC 服务静态文件
您可以使用指向文件系统上该目录的 Spring MVC 配置静态资源。
使用 Java 配置:
@Configuration
public class ServletConfig extends WebMvcConfigurationSupport {
@Override
protected void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/media/**")
.addResourceLocations("file:/home/multimedia/")
.setCachePeriod(31556926);
}
}
或者 XML 配置,例如dispatcher-servlet.xml:
<mvc:resources location="file:/home/multimedia" mapping="/media/**" cache-period="31556926" />
关于image - 在位于主目录中的 Web 上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339740/