如何在jQuery中为qrcode创建下载链接?

时间:2014-04-29 07:45:57

标签: jquery cross-browser download qr-code

我正在使用goqr.me api来创建qrcode图像。现在我想为qrcode图像创建一个下载链接。

我正在以这种方式创建qrcode图像:

function generateQrcode(data) {
    var params = {
        data: data,
        size: '200x200',
        margin: 0
    };

    // populate the preview box with the generate qrcode
    var dwnldUrl = 'https://api.qrserver.com/v1/create-qr-code/?'+$.param(params);
    previewBox.html('<img src="'+dwnldUrl+'" alt="qrcode-image"/>');
}

我希望有一个qrcode图像的下载按钮,如下所示:

$('#qrcode-dwnld-btn').click(function() {
   // something to trigger download for the image ....    

}

或者还有其他的交叉浏览解决方案吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

Downloadify(https://github.com/dcneiner/Downloadify)可以做你想做的事。

或者,我发现将download =“filename.ext”添加到您的代码可能会有效,但它是HTML5功能:

<a href="url/to/your/qrcode" download="filename.ext"><img src="url/to/your/qrcode" /></a>

当然用更有意义的东西替换 filename.ext

希望这有帮助。

答案 1 :(得分:0)

我得到了解决方案。 goqr.me api提供&#39; 下载&#39;参数,我们需要将其值传递为&#39; 1&#39;在下载图片的请求中。

然后,我们可以将窗口位置href设置为生成的URL。

$('#qrcode-dwnld-btn').click(function() {
    var qrCodeBaseUri = 'https://api.qrserver.com/v1/create-qr-code/?',
        params = {
            data: data,
            size: '200x200',
            margin: 0,
            // more configuration parameters ...
            download: 1
        };

    window.location.href = qrCodeBaseUri + $.param(params);        
});