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 回答