@DocTypeMaster

Как сохранить изображение которое генерируется в реальном времени?

Подскажите как правильно генерировать ссылку на изображение которое я генерирую на livewire

<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
     'ssid' => $this->ssid,
     'encryption' => $this->encryption,
     'password' => $this->password
     ])) !!} ">
     <a href="" class=""></a>
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Короче говоря, сразу отмечу, мне не очень нравится такое вкрапления кода в шаблон, я бы создал свой сервисный класс обертку, но да ладно. Значит у тега a есть свойство download, куда можно дать имя файла(как он будет называться при сохранении) и который браузеру сразу и подскажет что ссылка для скачивания и угадывать что там не нужно, ждать хедеров от сервера и тп тоже не нужно(я упростил объяснение).
Ваш код должен быть таким:
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
     'ssid' => $this->ssid,
     'encryption' => $this->encryption,
     'password' => $this->password
     ])) !!} ">
     <a 
download="qr.png"
href="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
     'ssid' => $this->ssid,
     'encryption' => $this->encryption,
     'password' => $this->password
     ]))  !!}" class=""></a>

Как видим, код здесь повторяется и два раза генерируем png, поэтому возможно есть смысл использовать доп переменную что сохранить код картинки и в blade передавать уже только само значение переменной.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы