Search code examples
ruby-on-railsrails-activestorage

active storage - prevent download - open file in browser when possible


I am using rails_blob_url(o.audio_file) but it is annoying since url doesn't open file in browser but downloads the file as an attachment (this is not a default browser behaviour for audio files).

I want that browser opens the file however it wants. I do not want to force download file ...

rails_blob_url(o.audio_file, disposition: :inline)

Doesn't work.


Solution

  • In addition to using rails_blob_url(o.audio_file, disposition: :inline) you also have to allow the content type.

    Rails.application.config.active_storage.content_types_allowed_inline += [
      "audio/mp3",
      "audio/mp4",
      "audio/mpeg"
    ]
    

    At this time the default content types are: ["image/png", "image/gif", "image/jpg", "image/jpeg", "image/tiff", "image/bmp", "image/vnd.adobe.photoshop", "image/vnd.microsoft.icon", "application/pdf"] so I had to add all the audio ones.

    There's a little bit more info about it here