You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
var qrcodeDecode = require('../')
|
|
|
|
document.getElementById('file').onchange = function (event) {
|
|
var el = event.target;
|
|
if (!el.files.length) return;
|
|
// console.log(el.files[0]);
|
|
var file = el.files[0];
|
|
new Promise(function (ok, no) {
|
|
/* if(window.URL && window.URL.createObjectURL){ //缓存预览
|
|
ok(window.URL.createObjectURL(file));
|
|
}else */
|
|
if (typeof FileReader) {
|
|
//urldata预览
|
|
var reader = new FileReader();
|
|
reader.onload = evt => {
|
|
ok(evt.target.result);
|
|
};
|
|
reader.readAsDataURL(file);
|
|
} else {
|
|
ok();
|
|
}
|
|
}).then((src)=>{
|
|
var img = new Image();
|
|
img.src = src;
|
|
img.onload = function(){
|
|
var canvas = document.createElement("canvas");
|
|
var ctx = canvas.getContext('2d');
|
|
canvas.width = img.width;
|
|
canvas.height = img.height;
|
|
ctx.drawImage(img,0,0,canvas.width,canvas.height)
|
|
//inputimg.src = src;
|
|
//qrcode.decode(src);
|
|
var imageData = ctx.getImageData(0,0,canvas.width,canvas.height)
|
|
alert(qrcodeDecode(imageData));
|
|
}
|
|
|
|
});
|
|
|
|
//el.outerHTML = el.outerHTML;
|
|
}
|