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

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

Суть такая. При нажатии на кнопку (onClick событие) должен создаваться QR-код(отображение для пользователя не нужно) по строке(рандомно генерирующийся набор символ) и отправляться на скачивание пользователю в виде png-картинки. Я видел библиотеки, которые просто отображают на странице QR-код, но его отображение в какой-либо файл для скачивания – не нагуглил пока что. Скачивание файла хотел реализовать при помощи атрибута download у тега Буду очень рад, если сможете подсказать способ р...
  • Вопрос задан
  • 639 просмотров
Подписаться 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽