Задать вопрос
Evgen_Bolat
@Evgen_Bolat

Как создать QR-код по строке и направить его пользователю на скачивание?

Суть такая. При нажатии на кнопку (onClick событие) должен создаваться QR-код(отображение для пользователя не нужно) по строке(рандомно генерирующийся набор символ) и отправляться на скачивание пользователю в виде png-картинки. Я видел библиотеки, которые просто отображают на странице QR-код, но его отображение в какой-либо файл для скачивания – не нагуглил пока что. Скачивание файла хотел реализовать при помощи атрибута download у тега Буду очень рад, если сможете подсказать способ р...
  • Вопрос задан
  • 433 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Делаю для себя одностраничное приложение:
https://gitverse.ru/NeiroN/HTML/content/main/QRcod...

Пошел по пути Текст->QRcode SVG->тег img->тег canvas->тег a->сохранение

function convertPng(svg,size,name){
let canvas = document.createElement("canvas");canvas.width=size;canvas.height=size;
let img = new Image();img.width=size;img.height=size;
let a = document.createElement("a");a.download=name;
img.onload = function() {canvas.getContext('2d').drawImage(img, 0, 0);a.href=canvas.toDataURL("image/png");a.click();img.remove();canvas.remove();a.remove()}
img.src = "data:image/svg+xml,"+encodeURIComponent(svg);
}

convertPng(new QRCode({
  content: "http://github.com/",
  padding: 4,
  width: 256,
  height: 256,
  color: "#000000",
  background: "#ffffff",
  ecl: "M",
}).svg(),256,'Test.png')

Библиотека когда-то отсюда взята: https://github.com/papnkukn/qrcode-svg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov
Помог ответ? Отметь решением.
Вы даже не потрудились загуглить пример? Вот надо динамически создать тег a с нужными атрибутами, кликнуть по нему и удалить.

Обновлено.
И снова я за вас погуглил )) Вот так можно сгенерировать налету и скачать как картинку.
https://codepen.io/yarkovaleksei/pen/OJGOzww?edito...
Ответ написан
NikFaraday
@NikFaraday
Student full-stack Developer
Для генерации можете использовать этот QR Code Generator (Я его не пробовал, по этому не знаю что там к чему).
Для UI по QR кодам можете использовать QRCode от Ant Design
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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