![](/img/trans.png)
[英]Rails Active Storage - How to migrate local files to s3 bucket
[英]How to play audio files served from Rails / Active Storage
我有一個接受音頻文件上傳的模型(使用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似乎可以繼續工作)。
我認為這與活動存儲在5分鍾后過期后生成的重定向URL有關...但是我認為rails_blob_url總是向文件返回新的URL。 這看起來像是正確的方法,還是我錯過了什么?
您可以這樣更改活動存儲的到期時間
# config/initializers/active_storage.rb
ActiveStorage::Service.url_expires_in = 1.hour
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.