您的位置:首页 > 编程语言 > Java开发

Spring Boot视频206 Partial Content下载出问题总结

2017-09-07 10:25 1081 查看

Spring Boot视频206 Partial Content下载出问题总结

查找这个问题花了整整两个白天

现象:下载其他资源正常,只有下载大文件视频,H5标签video下面206 Partial Content时候,会出现问题

。表现为只有第一个包下载成功,后续包无法下载。 版本spring boot 1.5.3.release Spring MVC

4.3.8.release。静态资源调用路径ResourceRegionHttpMessageConverter.writeInternal方法–>writeResourceRegion方法的in.close时候返回有异常在DispatcherServlet

936行mv = ha.handle(processedRequest, response,

mappedHandler.getHandler()); 抛出异常 在937行dispatchException =

ex;被catch住,但是没有抛出。异常为java.io.ioexception:您的主机中的软件中止了一个已建立的连接

寻找问题途径:直接忽略走的弯路,说起作用的寻找方法,先使用空白spring

boot项目放入视频文件测试,下载良好,怀疑是引入的jar包对spring

boot产生影响。手动将所有jar包scope设置为test,还是无效,确定不是依赖的jar包问题,最终问题定位到resouce引用(因为java文件中有mybatis的xml配置文件,因此需要配置resources标签把xml也打包),并且因为使用maven的profile,需要做过滤,但视频文件没有设置为不需要替换。

解决方法:将视频文件目录在替换配置放入exclude,并且新建一个不需要替换的项,包含进去,问题解决!

具体原因,还是要仔细学习研究,等有时间的时候我来调试不全问题原因。

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>static/css/font/**</exclude>
<exclude>static/video/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>static/css/font/**</include>
<include>static/video/**</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc 视频 HTTP-206