Ошибка неверного запроса Helicon Zoo/ISS 400 при обращении к длинному URL
Я использую гем Dragonfly в приложении Ruby-on-Rails для создания конвертированных URL-адресов изображений на лету, но когда я пытаюсь получить доступ к URL-адресу изображения, я получаю следующую ошибку:
HTTP Error 400. The request URL is invalid.
Похоже, что это происходит из IIS и происходит только когда URL больше 256 байт. Как можно было бы увеличить максимальный размер URL для проекта Helicon Zoo в МКС. Я уже попробовал решения, описанные здесь, но безуспешно.
Изменить: Это ссылка (с отредактированным доменом):
Http://{домен}.com/ СМИ /W1siZiIsIjIwMTQvMDgvMTkvNmVqb3JuMmd4aF9BSVRfT0ZGSUNFX1RSQVNQQVJFTlRfRURHRS5wbmciXSxbInAiLCJjb252ZXJ0IiwiLWZ1enogMjUlIC1maWxsIFwiI2NjY2NjY1wiIC1vcGFxdWUgd2hpdGUiXSxbInAiLCJyb3RhdGUiLCI1MC41MDY1MDU2NjI3NzkzMiJdLFsicCIsImNvbnZlcnQiLCItZnV6eiAxJSAtdHJhbnNwYXJlbnQgd2hpdGUiXV0 ша =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
1 ответ
Я решил эту проблему, возвращая изображение непосредственно с этого контроллера, а не возвращая URL-адрес Dragonfly.
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'