1

私はXLSファイルを添付することはできませんが、DOCの作品:ペーパークリップ:XLS(しかし、DOC作品)を添付することはできません

添付ファイルは、コンテンツタイプが無効
添付ファイルであるファイルは、ここで

無効ですログ:

Parameters: ... "files"=>[#<ActionDispatch::Http::UploadedFile:0x0000000daf7730 @tempfile=#<Tempfile:C:/Users/Chloe/AppData/Local/Temp/RackMultipart20170511-47156-ym774u.xls>, @original_filename="Chocolate_Store1.xls", @content_type="application/vnd.ms-excel", @headers="Content-Disposition: form-data; name=\"deal[files][]\"; filename=\"Chocolate_Store1.xls\"\r\nContent-Type: application/vnd.ms-excel\r\n">], 
... 
Command :: file -b --mime "C:/Users/Chloe/AppData/Local/Temp/1f1fb4d71efc0bd245abd7b5b9aa661220170511-47156-1rqzd0q.xls" 
    (1.0ms) ROLLBACK 
    Rendering deals/edit.html.erb within layouts/application 

私は種類をテスト

>file -b --mime "C:/Users/Chloe/AppData/Local/Temp/1f1fb4d71efc0bd245abd7b5b9aa661220170511-47156-1rqzd0q.xls" 
application/vnd.ms-office; charset=binary 

私は受け入れるリストにこのタイプを持っている:

class Attachment < ApplicationRecord 
    has_attached_file :file 
    validates_attachment_content_type :file, content_type: [ 
    "application/pdf", "application/msword", 
    "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 
    "application/vnd.oasis.opendocument.text", 
    "application/vnd.ms-excel", 
    "application/vnd.ms-office", 
    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
    "application/vnd.oasis.opendocument.spreadsheet" 
    ] 

end 

のRails 5.0.2、ペーパークリップ5.1.0は、ファイル(開発キット)


私は開発キットfileに気づいたが、Cygwinのとは異なり5.04 file。わからない、関連する場合:

>file -b --mime "C:/Users/Chloe/AppData/Local/Temp/1f1fb4d71efc0bd245abd7b5b9aa661220170515-54920-1e2bk5s.xls" 
application/vnd.ms-office; charset=binary 

$ file -b --mime "C:/Users/Chloe/AppData/Local/Temp/1f1fb4d71efc0bd245abd7b5b9aa661220170515-54920-1e2bk5s.xls" 
application/vnd.ms-excel; charset=binary 
+1

を使用するように切り替え検証定義内のサポートされているコンテンツタイプ – BoraMa

+0

@BoraMaそれは動作しません。私はそれを追加しようとしましたが、それでもXLSファイルを受け付けません。 – Chloe

答えて

2

私は私はあなたは、単にのリストに( `file`コマンドが示すように)`アプリケーション/ vnd.ms-office`を追加する必要がありますね

validates_attachment_file_name :file, matches: [/\.pdf$/, /\.docx?$/, /\.xlsx?$/, /\.odt$/, /\.ods$/] 
+1

は魅力的に働いた! –

+1

クールな回答!どうもありがとう! – Jeremie

関連する問題