Rails 3 のペーパークリップに問題があります。ファイルをアップロードすると、imagemagick get コマンドが原因でプロセッサがエラーをスローします。
「複合 - 重力南 /home/xxx/xxx/public/images/watermark.png /tmp/a s20121207-5819-1dq7y81.jpg /tmp/a s20121207-5819-1dq7y8120121207-5819-1juqw7a」
コンポジット: イメージ `/tmp/a' を開けません:
プロセッサー:
def make
dst = Tempfile.new([@basename, @format].compact.join("."))
dst.binmode
if @watermark_path
command = "composite"
params = "-gravity #{@position} #{@watermark_path} #{fromfile} "
params += tofile(dst)
begin
p " >>>>>>>>>>>>>>>>> #{command} #{params}"
success = Paperclip.run(command, params)
rescue PaperclipCommandLineError
success = false
end
unless success
raise PaperclipError, "There was an error processing the watermark for #{@basename}" if @whiny
end
return dst
else
return @file
end
end
def fromfile
File.expand_path(@file.path)
end
def tofile(destination)
File.expand_path(destination.path)
end
ファイル名に空白またはその他の非アルファナム文字が含まれている場合にのみ発生します。/tmp/a は /tmp/a b.jpg である必要があります。
私はhttp://www.davesouth.org/stories/make-url-friendly-filenames-in-paperclip-attachmentsなどを試しましたが、それでもプロセッサのファイル名が間違っています
何か案は?またはこの問題で問題なく動作するプロセッサはありますか? :(