Spring boot не находит недавно загруженный файл ⇐ JAVA
-
Anonymous
Spring boot не находит недавно загруженный файл
У меня есть веб-приложение, куда можно загружать аудиофайлы, которые затем отображаются на главной странице. У меня проблема в том, что когда я загружаю новый аудиофайл, а затем перехожу на главную страницу, HTML отображает аудиофайл, но получает ошибку 404 от сервера, что путь не найден.
Очистка кеша и файлов cookie не помогает, смена браузера тоже, даже на других устройствах получаю ту же ошибку. При этом я вижу, что файл находится там, где он должен быть на сервере, и могу загрузить его с помощью rsync.
Когда я перезапускаю веб-приложение, на этот раз оно находит аудиофайл, и я могу воспроизвести его в браузере.
Я не могу понять, почему происходит такое поведение, что мне здесь не хватает?
Веб-приложение создано с использованием Java Spring Boot и работает на сервере CentOS 7.
РЕДАКТИРОВАТЬ: По запросу вот минимальный пример с соответствующей частью моего кода:
Конечная точка контроллера
@RequestMapping(value = "/", метод = RequestMethod.GET) общедоступная строка main (модель модели) { model.addAttribute("filesPath", filesPath); аудиофайлы = audiofileRepo.findAll(); model.addAttribute("аудиофайлы", аудиофайлы); вернуть «главное меню»; } HTML
Ваш браузер не поддерживает аудио элементы. Получено браузером
Ваш браузер не поддерживает аудио элементы. Примечания: Audiofiles — это список объектов Audiofile, единственной значимой частью которого является строковый атрибут file_name. filesPath содержит путь к файлам, здесь "/audio/converted/" file_name содержит имя файла, и я заменяю расширение на .wav. Сгенерированный HTML-код правильный, и он работает для всех файлов, загруженных до последнего перезапуска приложения. Но для новых выдает ошибку 404: не найдено.
У меня есть веб-приложение, куда можно загружать аудиофайлы, которые затем отображаются на главной странице. У меня проблема в том, что когда я загружаю новый аудиофайл, а затем перехожу на главную страницу, HTML отображает аудиофайл, но получает ошибку 404 от сервера, что путь не найден.
Очистка кеша и файлов cookie не помогает, смена браузера тоже, даже на других устройствах получаю ту же ошибку. При этом я вижу, что файл находится там, где он должен быть на сервере, и могу загрузить его с помощью rsync.
Когда я перезапускаю веб-приложение, на этот раз оно находит аудиофайл, и я могу воспроизвести его в браузере.
Я не могу понять, почему происходит такое поведение, что мне здесь не хватает?
Веб-приложение создано с использованием Java Spring Boot и работает на сервере CentOS 7.
РЕДАКТИРОВАТЬ: По запросу вот минимальный пример с соответствующей частью моего кода:
Конечная точка контроллера
@RequestMapping(value = "/", метод = RequestMethod.GET) общедоступная строка main (модель модели) { model.addAttribute("filesPath", filesPath); аудиофайлы = audiofileRepo.findAll(); model.addAttribute("аудиофайлы", аудиофайлы); вернуть «главное меню»; } HTML
Ваш браузер не поддерживает аудио элементы. Получено браузером
Ваш браузер не поддерживает аудио элементы. Примечания: Audiofiles — это список объектов Audiofile, единственной значимой частью которого является строковый атрибут file_name. filesPath содержит путь к файлам, здесь "/audio/converted/" file_name содержит имя файла, и я заменяю расширение на .wav. Сгенерированный HTML-код правильный, и он работает для всех файлов, загруженных до последнего перезапуска приложения. Но для новых выдает ошибку 404: не найдено.
Мобильная версия