Helicon Zoo/ISS 400 Bad Request error when accessing long url

113 views Asked by At

I am using the Dragonfly gem in a Ruby-on-Rails app to generate converted image URL's on the fly but when I try to access the image's url I get the following error:

HTTP Error 400. The request URL is invalid.

This seems to be coming from IIS and only occurs when the url is bigger than 256 Bytes. How would one go about increasing the maximum url size for a Helicon Zoo project within ISS. I have already tried the solutions described here with no success.

Edit: This is the link (with the domain redacted):

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

Which was generated by this code:

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
1

There are 1 answers

0
Michael DiLalo On

I ended up solving this problem by returning the image directly from this controller rather than returning the 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'