如何避免回形针中的 Post 处理
How can I avoid the Post Processing in Paperclip
我使用 Paperclip 对 Tiff 和 PDF 进行文档和图像处理。
所以可以下载 Tiff 和 PDF。 Tiff 应转换为 PDF,而 PDF 应保持原样。但是当我下载 PDF 时,目标文件只有一页。 Paperclip 的 Post 处理似乎进行了自动转换:
convert '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq.pdf[0]' -auto-orient '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq20160530-4574-8l8k7z.pdf'
如何避免 Post 处理?
我的代码:
has_mongoid_attached_file :document, styles: lambda { |a|
if a.instance.isTiff?
{
pdf: {
format: 'pdf',
processors: [:tiff_to_pdf]
}
}
else
{
pdf: {
format: 'pdf'
}
}
end
}
请阅读文档:
https://github.com/thoughtbot/paperclip#post-processing
https://github.com/thoughtbot/paperclip#events
你可以这样做:
class Message < ActiveRecord::Base
has_attached_file :asset, styles: {thumb: "100x100#"}
before_post_process :skip_for_audio
def skip_for_audio
! %w(audio/ogg application/ogg).include?(asset_content_type)
end
end
我的解决方案是为 pdf 构建一个自己的处理器,它只是复制自己。似乎没有设置自己的处理器就使用了默认处理器,这导致了这种行为。
我使用 Paperclip 对 Tiff 和 PDF 进行文档和图像处理。 所以可以下载 Tiff 和 PDF。 Tiff 应转换为 PDF,而 PDF 应保持原样。但是当我下载 PDF 时,目标文件只有一页。 Paperclip 的 Post 处理似乎进行了自动转换:
convert '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq.pdf[0]' -auto-orient '/tmp/00c865a9d6c212a20cd851a448969f5520160530-4574-1yqdtq20160530-4574-8l8k7z.pdf'
如何避免 Post 处理?
我的代码:
has_mongoid_attached_file :document, styles: lambda { |a|
if a.instance.isTiff?
{
pdf: {
format: 'pdf',
processors: [:tiff_to_pdf]
}
}
else
{
pdf: {
format: 'pdf'
}
}
end
}
请阅读文档:
https://github.com/thoughtbot/paperclip#post-processing https://github.com/thoughtbot/paperclip#events
你可以这样做:
class Message < ActiveRecord::Base
has_attached_file :asset, styles: {thumb: "100x100#"}
before_post_process :skip_for_audio
def skip_for_audio
! %w(audio/ogg application/ogg).include?(asset_content_type)
end
end
我的解决方案是为 pdf 构建一个自己的处理器,它只是复制自己。似乎没有设置自己的处理器就使用了默认处理器,这导致了这种行为。