0

Ruby-on-Rails アプリで Dragonfly gem を使用して、変換された画像の URL をオンザフライで生成していますが、画像の URL にアクセスしようとすると、次のエラーが発生します。

HTTP Error 400. The request URL is invalid.

これは IIS から来ているようで、URL が 256 バイトより大きい場合にのみ発生します。ISS 内の Helicon Zoo プロジェクトの最大 URL サイズを増やすにはどうすればよいでしょうか。ここで説明されている解決策を既に試しましたが、成功しませんでした。

編集: これはリンクです(ドメインは編集されています):

http://{domain}.com/media/W1siZiIsIjIwMTQvMDgvMTkvNmVqb3JuMmd4aF9BSVRfT0ZGSUNFX1RSQVNQQVJFTlRfRURHRS5wbmciXSxbInAiLCJjb252ZXJ0IiwiLWZ1enogMjUlIC1maWxsIFwiI2NjY2NjY1wiIC1vcGFxdWUgd2hpdGUiXSxbInAiLCJyb3RhdGUiLCI1MC41MDY1MDU2NjI3NzkzMiJdLFsicCIsImNvbnZlcnQiLCItZnV6eiAxJSAtdHJhbnNwYXJlbnQgd2hpdGUiXV0?sha=3062766b

このコードによって生成されたもの:

area_url = Area.find(params[:id]).image.convert('-fuzz 25% -fill "#cccccc" -opaque white')
area_url = area_url.rotate(params[:theta]).convert('-fuzz 1% -transparent white').url
4

1 に答える 1

0

Dragonfly URL を返すのではなく、このコントローラーから直接画像を返すことで、この問題を解決しました。

area_overlay = Area.find(params[:id]).image.convert('-fuzz 25% -fill "#cccccc" -opaque white')
area_overlay = area_overlay.rotate(params[:theta]).convert('-fuzz 1% -transparent white').file

send_file area_overlay, :type => 'image/png', :disposition => 'inline'
于 2014-08-20T13:06:37.393 に答える