Nodejs 有没有将二维码图片识别出来并删除或变成链接(和知乎类似)的解决方案吗?

发布于 1周前 作者 yuanlaile 来自 nodejs/Nestjs

Nodejs 有没有将二维码图片识别出来并删除或变成链接(和知乎类似)的解决方案吗?
如题,求解。

2 回复

最近用 PHP 做了个, github 上有开源的识别 lib


针对Node.js中二维码图片的识别、删除或转换为链接的需求,以下提供相应解决方案:

二维码识别

可以使用sharp(用于图像处理)和@zxing/library(用于二维码识别)这两个npm包来实现二维码识别。以下是示例代码:

const sharp = require('sharp');
const { BarcodeReader, BarcodeFormat } = require('@zxing/library');

sharp('path/to/your/qrcode.png')
  .toBuffer()
  .then(buffer => {
    const reader = new BarcodeReader();
    reader.decodeFromBuffer(buffer, BarcodeFormat.QR_CODE)
      .then(result => {
        if (result && result.length > 0) {
          console.log('二维码内容:', result[0].rawValue);
        } else {
          console.log('未检测到二维码');
        }
      })
      .catch(err => {
        console.error('二维码解码错误:', err);
      });
  })
  .catch(err => {
    console.error('图片读取错误:', err);
  });

删除二维码图片

识别二维码后,可以使用Node.js的文件系统模块fs来删除图片文件。例如:

const fs = require('fs');
const path = 'path/to/your/qrcode.png';

fs.unlink(path, (err) => {
  if (err) {
    console.error('删除失败:', err);
  } else {
    console.log('删除成功');
  }
});

二维码转换成链接

二维码本身包含链接信息,识别后即可获取。若需进一步处理(如在Web应用中展示),可在前端通过识别二维码获取链接后,使用JavaScript进行展示或操作。

回到顶部