我在Payara-Micro上运行的webapp是一个收听音频文件并使用javascript的currentTime属性自由导航的工具。所以浏览器有<audio src="...">标签,为了获取音频文件,它向服务器发送带有头文件Range: bytes=0-的http GET请求不幸的是,Payara在响应中没有返回206代码和Content-range: bytes 0-881403,但它返回了200,这使得当我使用currentTime=10为例时,currentTime变为等于0!
在此之前,这个应用程序在PHP中运行,使用apache服务器,apache支持range头文件。是否可以配置PayaraMicro或Grizzly来支持range请求?或者,如果我把一个Apache服务器放在PayaraMicro前面,它会工作吗?谢谢你的帮助!
发布于 2019-11-28 15:56:46
Payara支持RFC-7233。我犯了一个错误:我的代码中有一个过滤器删除了媒体文件的默认响应头。这是一个“魔鬼过滤器”:
public void doFilter(... (...) httpServletResponse.setHeader("Content-Type", "text/html; charset=UTF-8"); filterChain.doFilter(servletRequest,servletResponse); }
目标关闭!
https://stackoverflow.com/questions/58959696
复制相似问题