Я пытаюсь использовать send_data
, чтобы вернуть изображение PNG в качестве ответа для запроса на отправку ajax. Как заставить браузер запускать загрузку при успешном обратном вызове?
Подробнее
Я создаю большое изображение base64 с помощью canvas.toDataURL()
, а затем отправляю его в Rails (v3.2.6). Rails декодирует его на двоичный PNG и отправляет изображение обратно клиенту.
Я также пробовал send_file
, но у него такая же проблема.
Другие опции
-
Загрузка клиентской части изображения: Мы не можем этого сделать, потому что (1) Сафари падает на больших URL-адресах base64 и (2) Safari еще не поддерживает атрибут загрузки на якорных тегах, который мне нужно будет указать загруженное имя файла изображения.
-
Используйте
$.get
вместо$.post
:. Мы не можем этого сделать, потому что нам нужно отправить нашcanvas.toDataURL()
с запросом на сервер.GET
URI запросов имеют ограничения по размеру.