我的项目是在Spring MVC中,运行tomcat7和nginx。 我将用户添加的所有多媒体上传到/ home / multimedia。
我想从那里向用户展示多媒体。我该怎么办?
我找到了PHP的解决方案,但它没有回答我的问题。
答案 0 :(得分:1)
你可以去两条路线。第一个开销最小。如果需要可配置的位置,第二个更方便。
为目标目录创建别名。
location /media {
alias /home/multimedia;
expires 1y;
}
您可以使用指向文件系统上该目录的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配置的调度-servlet.xml中强>:
<mvc:resources location="file:/home/multimedia" mapping="/media/**" cache-period="31556926" />
答案 1 :(得分:0)
从磁盘读取图像并使用核心java保存在BufferedImage中的代码
public BufferedImage savetiff(File srcFilePath) throws IOException {
FileSeekableStream stream = new FileSeekableStream(srcFilePath);
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
decodeParam.setDecodePaletteAsShorts(true);
ParameterBlock params = new ParameterBlock();
params.add(stream);
RenderedOp image1 = JAI.create("tiff", params);
BufferedImage img = image1.getAsBufferedImage();
return img;
}