MiniMagick を使用して、マルチパート フォームからアップロードされた画像のサイズ変更を実行しています。最初にアップロードされたファイルからいくつかの異なる種類の画像を生成する必要があります。画像処理を実行しているコードは次のとおりです。
// Generates a thumbnail image
mm = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm.resize(thumbnail_dimensions.join("x"))
mm.write(Rails.root.join('public', 'uploads', "t_"+new_url))
// Generates cropped version
mm_copy = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm_copy.crop('200x200')
mm_copy.write(Rails.root.join('public', 'uploads', "c_"+new_url))
new_url
public
フォルダ内の画像へのパスです。サムネイル ルーチンは完全に機能します。アプリがトリミングされたバージョンの処理を開始すると、そこから問題が発生し始め、私の人生でそれを理解することはできません. このコードから次のエラーが表示されます。
No such file or directory - /tmp/mini_magick20110627-10055-2dimyl-0.jpg
Rails のガベージ コレクターで発生する可能性のある競合状態についていくつか読みましたが、問題を解決できませんでした。コンソールからもこれを試してみましたが、MiniMagick インスタンスを作成できますが、そこでもNo such file
エラーが発生します。現時点では、どこに行けばいいのかわからないので、ここの誰かが役立つ提案をしてくれることを願っています. ご協力いただきありがとうございます!
詳細:
- OS: Ubuntu (Lucid Lynx)
- レールのバージョン: 3.0.7
- ルビーのバージョン: 1.8.7
- ミニマジック バージョン: 3.3