Как воспроизводить аудиофайлы из Rails / Active Storage - PullRequest
0 голосов
/ 05 января 2019

У меня есть модель, которая принимает загрузку аудио файлов (с использованием Rails 5.2.2, active_storage). Чтобы проверить это, я сделал вид, который просто создает кнопку воспроизведения для каждого:

<% @page.uploads.each do |upload| %>
    <div class="player btn btn-outline-secondary">
        <%= audio_tag rails_blob_url upload %>
        Play
    </div>
<% end %>

<script>  
$(document).ready(function() {
    $(".player").click(function() {
        $(this).children('audio')[0].play();
    });
});          
</script>

Это прекрасно работает, но через 5 минут перестает работать, нажатие кнопок больше не воспроизводит звуки, и страница должна быть обновлена, чтобы снова заработать. (по крайней мере, в Chrome и FireFox Safari, похоже, продолжает работать).

Я думаю, что это как-то связано с URL-адресами перенаправления, генерируемыми активным хранилищем, срок действия которого истекает через 5 минут ... но я подумал, что rails_blob_url всегда возвращает новый URL-адрес файла. Это похоже на правильный подход, или я что-то упустил?

1 Ответ

0 голосов
/ 10 января 2019

Вы можете изменить срок действия активного хранилища следующим образом

# config/initializers/active_storage.rb
ActiveStorage::Service.url_expires_in = 1.hour
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...