我有我的网站上的视频倒带的问题。
我解决了HTTP头问题。
我当前返回视频的控制器方法:
@RequestMapping(method = RequestMethod.GET, value = "/testVideo")
@ResponseBody
public FileSystemResource testVideo(Principal principal) throws IOException {
return new FileSystemResource(new File("D:\\oceans.mp4"));
}
如何重写下面的代码并支持字节范围?
附言
我看过以下示例http://balusc.blogspot.in/2009/02/fileservlet-supporting-resume-and.html
但是这段代码看起来很难理解,我希望在spring中mvc能简单一些。
7条答案
按热度按时间ppcbkaq51#
在回答此问题时,对http字节范围支持的请求是开放的,但在Spring 4.2.RC1中已修复。请检查jira SPR-10805或PR here。
但是根据您在问题中链接的代码,Davin Kevin构建了一个可以满足您的请求的solution。
多部分文件发送者代码:
在控制器中使用:
imzjd6km2#
现在是2020年。
部分范围默认在Spring中实现(我使用的是 Boot ),我的控制器代码看起来与下面的代码类似,它可以很好地与范围头一起工作。
备注(详见全能源代码):
b09cbbtk3#
如果你想避免使用
MimeTypeUtils
,你可以使用Files.probeContentType(Path path)
,这将使用系统的默认实现。hgqdbh6s4#
Leandro的答案对我来说非常有效。我只是用RandomAccessFile更改了InputStream,它在访问文件中的随机点时性能更好。
下面是类MultipartFileSender
t0ybt7op5#
根据您要实现的目标,将请求Map到容器的默认servlet可能是有意义的。
即初始化期间:
cgh8pdjw6#
哇,Leandro的答案如此聪明。只是创建服务文件跟随他并在控制器中使用。在这里我跟随他的指导方针
4uqofj5v7#
试试这个简单的代码。
更新:
它用Spring MVC Package 了Spring Jersey的RESTful实现。jersey.java.net RESTful implementation with spring MVC.
对于纯Spring mvc,请使用以下代码。
IOUtils来自apache普通jar