解决nginx静态资源无法预览只能下载的问题
场景介绍
项目需求:用户登录web系统之后,如果有系统新消息产生,需用提示音告知用户,并且用户可以上传自己的个性化提示声音。
解决方案:用nginx静态代理ftp服务器上的音频文件,用户上传音频文件到ftp目录下,前端直接用URL访问音频文件即可。
出现的问题
nginx静态资源代理设置好之后,访问资源时出现一个迷死人的bug:
1、项目中用URL访问音频文件无法访问,F12调试发现http响应码为206(这个206问题我百度的很多解决方案都是说是因为http支持断点续传功能之类的,是因为nginx日志太大引起的,但其实我的nginx日志文件只有几百K,而且我也清日志了,问题还是没解决);
2、直接在浏览器输入URL访问音频文件,浏览器直接下载了文件,不能预览
头疼~
不过,经过我的艰苦奋斗,终于找到了解决方法!
解决方法
出现这一问题的原因是:我上传的音频文件是mav格式的,nginx的mime.types中没有配置支持mav格式的音频,所以我无法预览只能下载!
解决方案有两种:
1、在mime.types中加入对mav格式音频的支持
2、你的音频文件使用mime.types中支持的格式,比如MP3格式。
好了,记录一下痛苦的解决非代码bug的过程!