ruby on rails:关于文件上传和显示文件

时间:2017-11-28 15:44:53

标签: ruby-on-rails ruby file amazon-s3 ruby-on-rails-5

目前,我们可以使用数据库和S3保存各种文件。但是,无法很好地显示这些文件。

以下代码是showviewfile代码。我想在这里做两件事。

     <div class="listing_content">
            <% if @listing.file_content_type == 'video/mp4' then %>
              <%= video_tag @listing.file, :controls => true, width: "640", height: "360" %>
            <% elsif @listing.file_content_type == "image/jpg" || "image/jpeg" || "image/png" || "image/gif" then %>
              <%= image_tag @listing.file, :width => 640, :height => 340 %>
            <% elsif @listing.file_content_type == 'audio/mpeg' || 'audio/x-mpeg' || 'audio/mp3' || 'audio/x-mp3' || 'audio/mpeg3' || 'audio/x-mpeg3' || 'audio/mpg' || 'audio/x-mpg' || 'audio/x-mpegaudio' then %>
              <%= audio_tag @listing.file, :controls => true %>
            <% else %>
              <%= image_tag @listing.file %>
            <% end %>
          </div>

第一种是显示每种格式的保存文件。 其次,请参见下图。这意味着音频文件无法正常显示。

enter image description here

所以,我想解决这些问题,但我不知道如何解决它。我们怎么解决呢?

模型文件

validates_attachment :file, content_type: { content_type: ['audio/mpeg', 'audio/x-mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/mpeg3', 'audio/x-mpeg3', 'audio/mpg', 'audio/x-mpg', 'audio/x-mpegaudio', 'video/mp4', 'text/plain', 'application/msword', 'application/vnd.ms-powerpoint', 'application/pdf', "image/jpg", "image/jpeg", "image/png", "image/gif"] }
请告诉我!!

1 个答案:

答案 0 :(得分:0)

您使用哪个库进行上传?

如果它的carrierwave / paperclip可能会尝试将@ listing.file.url作为参数代替?