使用回形针上传代码文件
Upload code files with paperclip
为了能够上传代码文件,validates_attachment_content_type
配置应该是什么。就我而言,我想上传 .R 文件。
我想做这样的事情:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_content_type :r, content_type: 'text/r'
end
我必须定义 MIME 类型吗?我应该怎么做?
编辑:
使用此代码,使用 text/plain
:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_content_type :r, content_type: 'text/plain'
end
我收到以下错误:
R has contents that are not what they are reported to be
R is invalid
R content type is invalid
我查看了这份 mime 类型列表
http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm
但我没有找到 .R 文件。但是执行这条命令时:
file --mime-type compare_datasets.R
我得到这个结果:
compare_datasets.R: text/plain
为什么 text/plain
不起作用?
对于代码文件,您可以使用 text/plain
MIME 类型。
validates_attachment_content_type :r, :content_type => 'text/plain'
可以找到许多这样的文件结尾here
我设法通过在 MIME 类型初始值设定项中执行此操作使其工作:
Paperclip.options[:content_type_mappings] = {r: "text/plain"}
模型中的这个:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_file_name :r, matches: [/r\Z/, /R\Z/]
do_not_validate_attachment_file_type :r
end
为了能够上传代码文件,validates_attachment_content_type
配置应该是什么。就我而言,我想上传 .R 文件。
我想做这样的事情:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_content_type :r, content_type: 'text/r'
end
我必须定义 MIME 类型吗?我应该怎么做?
编辑:
使用此代码,使用 text/plain
:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_content_type :r, content_type: 'text/plain'
end
我收到以下错误:
R has contents that are not what they are reported to be
R is invalid
R content type is invalid
我查看了这份 mime 类型列表
http://hul.harvard.edu/ois/systems/wax/wax-public-help/mimetypes.htm
但我没有找到 .R 文件。但是执行这条命令时:
file --mime-type compare_datasets.R
我得到这个结果:
compare_datasets.R: text/plain
为什么 text/plain
不起作用?
对于代码文件,您可以使用 text/plain
MIME 类型。
validates_attachment_content_type :r, :content_type => 'text/plain'
可以找到许多这样的文件结尾here
我设法通过在 MIME 类型初始值设定项中执行此操作使其工作:
Paperclip.options[:content_type_mappings] = {r: "text/plain"}
模型中的这个:
class RFile < ActiveRecord::Base
has_attached_file :r, url: "/system/:attachment/:id/:basename.:extension"
validates_attachment_file_name :r, matches: [/r\Z/, /R\Z/]
do_not_validate_attachment_file_type :r
end