2016-01-17 78 views
0

我正在製作一個用戶可以上傳圖片和PDF文件的網站。顯示和下載PDF Ruby on Rails

我正在使用Ruby on Rails和回形針。我有一個名爲「show」的網站,用戶可以通過「名稱,說明和圖片」查看他的帖子。但現在我想讓每個人都可以上傳圖片或PDF文件,並且圖片旁邊的每個文件都有一個下載鏈接。我正在使用sqlite數據庫。

而在通常情況下,圖片是我想要有一個PDF標誌,他們可以點擊查看PDF文件的地方。

有人可以幫助我在這種情況下?

我的模型:

class Picture < ActiveRecord::Base 
    belongs_to :bill 

    has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" } 
    validates_attachment :image, :content_type => {:content_type => %w(image/jpeg image/jpg image/png application/pdf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document)} 
end 

我如何會顯示當時的畫面:

<%= image_tag @pictures[0].image.url(), class: "img-responsive" if @pictures.length > 0 %> 

在此先感謝。

+0

只是可以肯定的是,您是否只問如何顯示圖像預覽(如果圖像)或PDF徽標(如果PDF文件)?這就是你需要知道的一切嗎? – brito

+0

您是否設法爲PDF創建模型?你走多遠了? – brito

+0

我想知道以下步驟: 1.有一個模型,允許上傳帶有描述,名稱,...到SQLite的PDF文件,並參考上傳它的用戶。現在我的代碼只允許上傳圖片而不是PDF文件。 2.當PDF文件在數據庫中 - >有一個網站,您可以找到要點擊的PDF標誌,然後我想在網站上看到PDF文件。就像在自己的雲中。 [https://demo.owncloud.org/] 您可以上傳PDF - >有PDF標識 - >您可以直接在網站上點擊並查看PDF文件。 現在它只適用於圖片而不是PDF文件。 – siglauer

回答

0

只需添加PDF的特殊處理。喜歡的東西:

<% if @picture.image_content_type=="application/pdf" %> 
    <%= link_to (image_tag "pdflogo.png"), @picture.image.url() %> 
<% else %> 
    <%= image_tag @picture.image.url(), class: "img-responsive" %> 
<% end %> 

假設圖像在可變@picturepdflogo.png舉行包含PDF標誌。 (使用@pictures[0]if @pictures.length > 0直接在代碼中顯示一個圖像不是很乾;這應該與用於顯示一張圖片的代碼分開)。

+0

非常感謝,但是我可以讓PDF文件進入我的sqlite數據庫嗎?因爲現在我的模型只允許上傳圖片而不是PDF文件。我現在有以下照片:picture_name; picture_description和參考上傳這張圖片的用戶。但它不適用於PDF文件。 – siglauer

+0

你做文件上傳,就像你的圖像一樣。見例如http://stackoverflow.com/questions/24715918/how-to-upload-image-word-docs-and-or-pdf-files-via-paperclip-rails-4 – tillmo