javascript - 使生成的二维码可在React项目上下载

标签 javascript reactjs download qr-code

我想要做的是根据设备 ID 生成QR 码以便稍后下载。我弄清楚了如何生成它,它在页面上显示正常,一切正常,但是有没有可能的方法来下载它? (QR 图像,它是 .png)

import QRCode from 'qrcode.react';
render() {
return (
<QRCode value={this.state.values.deviceId} />
)};

这就是我所做的:

Image 1

这就是我想做的:

enter image description here

最佳答案

我知道怎么做了,这是代码:

import QRCode from 'qrcode.react';
constructor(props) {
    super(props);
this.download = this.download.bind(this);
}
componentDidMount(){
 this.download()
}
render() {
return (
 <div style={{display: "none"}} className="HpQrcode"> // hidden div
   <QRCode
     value={this.state.values._id}
     size={128}
     level={'H'}
   />
 </div>
  <a ref={(ref: any): any => this.downloadRef = ref}>
    Download QR Code
  </a>
)};
download() {
    const canvas: any = document.querySelector('.HpQrcode > canvas');
    this.downloadRef.href = canvas.toDataURL();
    this.downloadRef.download = this.state.values.deviceId + "-QR.png";
}

关于javascript - 使生成的二维码可在React项目上下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50158623/

相关文章:

javascript - 如何从 0000 和 9999 中搜索匹配 "string"的字符串

reactjs - 如何将Create-react-app与passport中间件集成?

reactjs - React Typescript - 类型参数不可分配给类型参数

javascript - 通过react-router处理带有斜杠的路径的方法是什么?

ios - 从 Amazon CDN 到 iOS 设备的频繁下载损坏/不完整的原因是什么?

android - 下载时我应该使用多少并发网络连接?

javascript - 为什么这个子 Node 在 Firebase Cloud Functions 中没有被删除?

javascript - 将一个函数传递给另一个函数的参数

javascript - 在 PHP 代码中调用 JS 函数

android - 未知 URL 内容 ://downloads/my_downloads