Ruby on rails 如何指定哪些文件可以用曲别针上载到服务器
是的,我知道回形针有一个validates\u附件\u内容\u类型,但我真的想让它通过文件扩展名进行验证\u。。。ie。。。我的应用程序中有一个允许的文件扩展名数组,我想让paperclip看看即将上载的文件是否在该数组中有文件扩展名,如果没有,我希望它甚至不启动上载并返回错误Ruby on rails 如何指定哪些文件可以用曲别针上载到服务器,ruby-on-rails,paperclip,Ruby On Rails,Paperclip,是的,我知道回形针有一个validates\u附件\u内容\u类型,但我真的想让它通过文件扩展名进行验证\u。。。ie。。。我的应用程序中有一个允许的文件扩展名数组,我想让paperclip看看即将上载的文件是否在该数组中有文件扩展名,如果没有,我希望它甚至不启动上载并返回错误 如何执行此操作。您可以定义自己的验证方法: validate :validate_by_file_extension def validate_by_file_extension errors.add_to_bas
如何执行此操作。您可以定义自己的验证方法:
validate :validate_by_file_extension
def validate_by_file_extension
errors.add_to_base("Invalid file extension") unless ALLOWED_EXTENSIONS.include?(File.extname(attachment_file_name))
end
但是,在开始从rails上传之前,您不能轻松地回退,因为在大多数情况下,当调用rails控制器操作方法时,文件已经流式传输,临时文件已经创建。您需要在堆栈上走得更高,才能阻止东西甚至开始上传。您可以定义自己的验证方法:
validate :validate_by_file_extension
def validate_by_file_extension
errors.add_to_base("Invalid file extension") unless ALLOWED_EXTENSIONS.include?(File.extname(attachment_file_name))
end
但是,在开始从rails上传之前,您不能轻松地回退,因为在大多数情况下,当调用rails控制器操作方法时,文件已经流式传输,临时文件已经创建。你需要在堆栈中更高的位置才能阻止东西甚至开始上传。取决于你停止上传的意思。将不会保存该模型。但这并不能阻止整个上传流到您的服务器。这取决于您停止上传的意思。将不会保存该模型。但这并不能阻止整个上传流到您的服务器。