Audiofile(最近上传的multipartfile)仅在重新启动整个应用程序时播放。 Spring Boot 2.2 Thymeleaf

问题描述 投票:0回答:1

当我运行我的应用程序时,我遇到了这个问题,即用户上载文件(音频文件),然后重定向到另一个可以播放文件的页面。但是,没有立即找到该文件。我在检索该mp3文件时收到404错误消息。仅当我重新启动该应用程序并上传相同的文件时,它才会播放。这对npt毫无帮助。换句话说:我让文件上传到的静态文件夹没有更新。

我可以通过下一个视频演示我的意思:https://youtu.be/UJvtZTsRGNY

因此,我存储音频文件上载的方式如下:我使用H2内存数据库,其中有一列称为:audioFile(path)。这仅将文件的位置存储为字符串,因此以后可以在(th:)src标记中使用它。我将文件存储在项目结构中。 (我也尝试过将上传的内容存储到我的桌面上,但是仍然出现相同的问题,所以我切换回了)

因此,当我使用测试用户上传文件时,有时会播放相同的上传内容,反之亦然

我还尝试过使用spring.servlet.multipart。最大请求大小,但没有结果。

而且我的控制台也没有显示任何问题,并且当我查看mp3文件的源时,我发现它试图从中请求的路径是正确的。

由于我不知道代码在哪里出了错,我在这里是指向github页面的链接:https://github.com/1eam/Eindproject以及指向YouTube的表明我的问题的链接:https://youtu.be/UJvtZTsRGNY

*我刚刚在点击屏幕记录时注意到,当我重新启动应用程序时,音频文件仅在播放(获取源)。因此,这就是为什么我认为播放音频有时起作用的原因

spring-boot thymeleaf http-status-code-404 html5-audio multipart
1个回答
0
投票

我通过设置intelliJ的运行配置来部分解决了这一问题:更新策略,以更新资源和类。现在,我不必重新启动整个应用程序即可播放请求的音频文件(或任何静态文件)。

唯一的例外是,我现在必须在intelliJ内单击,然后刷新浏览器以实现此目的。

[当用户将文件上传到目录时,必须有一种方法可以从intelliJ触发“更新类和资源”功能。

欢迎改进的答案,与此同时,我仍在寻找最佳解决方案,因为我必须使它起作用。

© www.soinside.com 2019 - 2024. All rights reserved.