2012-05-14 8 views
2

私はapplyforjobs.Itsで履歴書をアップロードするためにクリップを使用しています。ファイルをアップロードするにはブラウズボタンを得ることができます。ビューページには、アップロードしたpdfファイルが表示されず、ファイルの名前だけが表示されます。私はまた、デフォルトで生成されるフォルダとそのフォルダに、アップロードアクションがfine.butを作成していることを意味する作成アクション中にアップロードしたpdfsを含んでいることを確認しましたが、私はそのpdfを表示できません。続きpaperclipを使用して画像以外のファイルをアップロードする方法... pdf、docsのように


は、ペーパークリップの取り付けのための私のapplyforjob.rbモデルのコードです:後

has_attached_file :resume,:styles => { :small => "150x150>" } 

は、ファイルをアップロードするためのapplyforjobs/form.html.hamlのコードです:

= f.label :resume, "Upload resume".html_safe 
= f.file_field :resume 

ファイルを表示するためのapplyforjobs/show.html.hamlのコードを次に示します。

しかし、そのpdfファイルを表示していません。私はpdfやdocsのようなファイルをアップロードして表示するために何を書いていますか?

答えて

2

paperclipは、Readmeに記載されているように、一般的な添付ファイルのアップロード宝石であるため、あらゆる種類のファイルのアップロードをネイティブでサポートしています。私はあなたのことを示唆している

  1. has_attached_file
  2. から:styles => { :small => "150x150>" }パラメータを削除し、モデル内のメソッドを定義したPDFファイルから
  3. をサムネイル画像を生成しますクリップのコールバックを書き、resume_thumbnailを言います、生成されたファイルへのパスを返します。
  4. ビューで次の呼び出しを行います。

    = image_tag @appliedusers.resume_thumbnail 
    

不思議image_tag @appliedusers.resume.url(:small)はあなたのために動作しません:paperclipは、PDFファイルについて何も知りません。 paperclipは、一般的なファイルとして盲目的にPDFファイルを見ているため、画像のみに適用できる処理はできません。

0

@は、PDFファイルを保存した後、あなたは、私はこのようなやったブラウザ に表示する画像をPDFに変換画像を作成する必要があります - ペーパークリップでPDFファイルを保存する##

** self.saveを

create_preview_image ##

file_name = File.join(Rails.root, 'public', self.document.url.split('?')[0]) if self.document 

return unless file_name.present? 

pdf = Magick::ImageList.new(file_name) 

return unless pdf.present? 

png_file = Tempfile.new(["#{rand(9999).to_s}",'.png']) 

pdf[0].write(png_file.path) do 

    self.quality = 100 

end 

self.preview = png_file 

self.save 

エンド**

0123をcreate_preview_image DEF

このメソッドを呼び出します

関連する問題