jfinal Undertow目录映射,视频直接下载了,而不是播放?

undertow.resourcePath=src/main/webapp, F:/aaa

视频资源放到aaa下一级的文件夹,这样的话在iframe中播放视频就直接下载了,而且在app中播放视频加载超级慢,这个什么原因

评论区

zhang_0501

2020-10-29 14:09

这种和tomcat映射感觉不一样呢,,视频加载很慢,有大神知道怎么回事吗

jfinal爱好者22

2020-10-29 14:55

@zhang_0501 视频播放需要 前端 加个video标签吧,播放慢可以放到七牛云,或oss上面

JFinal

2020-10-29 16:24

视频播放要使用特定的 html 标签,播放很慢应该是网速的原因

你先在本地测试一下播放速度看看

此外,建议将相关 html 贴到本文之中,这样能更快解决问题

zhang_0501

2020-10-30 15:33

@JFinal 我们视频放到nas存储上,nginx做的https的分布式,目录映射\\172.31.3.10\swzzb,同样的条件tomcat加载视频要比undertow快的多,我们主要在app里播放视频,用undertow的话视频几乎加载不出来,我怎么感觉tomcat映射是网址,undertow映射这种是路径呢,是这个原因么

zhang_0501

2020-10-30 15:36

@jfinal爱好者22 前端video标签是可以放,但是iframe就直接下载了,因为我们图文和视频是混排的,所以就用的iframe

zhang_0501

2020-10-30 15:38

app是原生的播放器,不是h5那种

JFinal

2020-10-30 15:49

@zhang_0501 一定要参考这个反馈:
http://www.jfinal.com/feedback/7237

其中谈到了 undertow 对于某些 Mime 并没有直接支持,我估计是你那里需要播放的视频文件也需要配置一下 MimeMapping

先搜索一下 MIME 的对应表,再配置一下,我这里假定你要播放的是 mp4 文件,配置如下:
UndertowServer.create()
.configWeb(builder -> {
MimeMapping mm = new MimeMapping(".mp4", "video/mp4");
builder.getDeploymentInfo().addMimeMapping(mm);
})
.start()

这里有相关的资料:
https://baike.baidu.com/item/MIME/2900607?fr=aladdin

JFinal

2020-10-30 15:49

@zhang_0501 配置了 MIME 以后就不会下载,而会按某种方式展现资源,记得搞定后回来分享

热门反馈

扫码入社