我有一个模型,可以将图像和pdf上传到亚马逊S3 - 图像可以正常工作,但pdf无法工作。
这是我的模型:
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png', 'image/gif']
has_attached_file :pdf,
:storage => :s3,
:s3_credentials => "#{::Rails.root.to_s}/config/s3.yml",
:path => "/userpdfs/:id/:basename.:extension"
has_attached_file :photo,
:styles => {:medium => "200x300>", :thumb => "100x150>" },
:storage => :s3,
:s3_credentials => "#{::Rails.root.to_s}/config/s3.yml",
:path => "/userphotos/:style/:id/:basename.:extension"
亚马逊正在显示用户照片
,但没有用户PDF文档
。这两种类型在我的数据库中都有四个字段:
pdf_name
pdf_type # could also be a word doc
pdf_size
pdf_updated_at
- 为什么简历无法上传(图片可以)?
- 如何验证 :pdf 字段只允许 .pdf、.doc、.docx、.txt 格式的文件?
编辑
向 :pdf 字段上传任何图像都可以!但是似乎 PDF 文件本身会破坏系统。我的服务器显示已将文件保存到 S3,但它们不会出现在目录中。
现在,PDF 只有在标题中没有空格的情况下才能正常工作。如果标题中有空格,则会出现以下错误:Errno::EPIPE: Broken Pipe
。
CGI.escape(str)
来处理空格。 - Yuri Sidorov