前提・実現したいこと
クライアントサイドでQRコードを複数生成し、pngファイルにしてzipでまとめてダウンロードしたいです。
ブラウザはchromeです。
発生している問題
こちらの記事を参考にしてQRコードの生成、zipの保存まではできたのですが、中身のファイルがpngになりません。
https://memo.appri.me/programming/qrcode-read-write
https://r17n.page/2020/01/12/js-download-zipped-images-to-local/
該当のソースコード
具体的にはチェックボックス選択→ボタンクリックで、チェックボックスのvalueの文字列をQRコードとして出力しています。
HTML
1<div style="display: none;" id="imgField"></div>
JavaScript
1 2 function createQrcode() { 3 $('input:checkbox[name="hoge"]:checked').each(function() { 4 qr_text = $(this).val(); 5 QRCode.toDataURL(qr_text, function(err, dataurl) { 6 if (err) { 7 alert(err.message); 8 return; 9 } 10 11 $('#imgField').append('<img name="qr_code" src="'+dataurl+'">'); 12 }); 13 qr_text = ''; 14 }); 15 downloadImages(); 16 }
downloadImages()からはほとんど2つ目の記事のソースコードを使わせていただきました。
試したこと
試しにdivのdisplay:noneを外したところ、QRコードが問題なく表示されました。(右クリックで保存もできます)
zipで保存されたファイルも、ブラウザで開けばQRコードが表示されました。
ダウンロードの機能を作るのが初めてなので認識間違い等あるかもしれません。
何か良い方法があればご教授いただきたいです。よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー