Rails: 使用paperclip上传文件

3

我想使用Paperclip上传文件。使用基本的默认设置,我能够将文件上传到默认目录(public/systems...)。但是当我尝试更改URL或路径时:

class Cvit < ActiveRecord::Base
    has_attached_file :fileup, :path => ":rails_root/public/data/01_fasta"
end

在执行chmod 777命令之后,我失去了访问01_fasta目录的权限,我发现文件还在那里,但它的名称变成了stream20110706-45944-12lt2oo-0。

我还尝试使用#{rails_root}替换:rails_root。

是什么原因导致这种情况?

解决方案::url和:path需要指向一个文件,而不是一个目录。所以我必须有像这样的东西

class Cvit < ActiveRecord::Base
  has_attached_file :fileup,
    :url => "/data/01_fasta/:basename.:extension",
    :path => ":rails_root/public/data/01_fasta/:basename.:extension"
end 
2个回答

3
 has_attached_file :doc, :path => ":rails_root/public/system/attachments/:id/:filename"


def filename
"/system/attachments/#{self.id}/#{self.doc_file_name}"
end

适用于我。

1

:url和:path需要指向一个文件,而不是一个目录。所以我必须有类似这样的东西

class Cvit < ActiveRecord::Base
  has_attached_file :fileup,
    :url => "/data/01_fasta/:basename.:extension",
    :path => ":rails_root/public/data/01_fasta/:basename.:extension"
end 

在Rails中,你可以上传文件到自定义目录吗? - Jwan622

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接