2011-11-23 51 views
1

我正在使用carrierwave上傳圖片(jpg,jpeg)以及pdf,doc,xls,在我的應用程序中的文件。如何設置默認圖像,以下載載波上傳的doc,pdf,xls文件

所以當我使用

<%= link_to (image_tag media.image_url().to_s) %> 

<%= image_tag media.image_url().to_s %> 

它顯示了(PDF,DOC,XLS)破碎的形象 &當我右鍵單擊斷開的圖像上,它打開保存圖片作爲方框&爲我保存(doc,pdf,xls)。

但我想要的是它應該顯示默認圖像(pdf,doc,xls)&只需點擊該按鈕即可打開保存文件的彈出窗口。

使用:

  1. carrierwave(0.5.7)
  2. 鐵軌(3.0.10)

回答

1

你的意思是爲PDF,DOC和XLS的默認圖像,預覽? 所以你可能會是這樣的:

<%= link_to(image_tag(preview_or_default_image(media)), media %> 

,然後定義一個幫手:

def preview_or_default_image(media) 
    case media.type 
    when 'jpg', 'jpeg' # , 'png', ... 
    media.image_url 
    when 'doc', 'docx' 
    'path/to/doc/default_image.png' 
    when 'xls', 'xlsx' 
    'path/to/xls/default_image.png' 
    when 'pdf' 
    'path/to/pdf/default_image.png' 
    end 
end 
+0

media.type在這裏爲零 – chaitanya

+0

而不是'media'(不知道上面定義的位置),我使用:'model.uploader.file.extension'如下所示:http://stackoverflow.com/問題/ 11644557/carrierwave如何獲取文件擴展名 –

+0

Media是carrierwave對象,請參閱上面的問題;) –