Реализация статического файла QuaggaJS - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь реализовать QuaggaJS в виде статического файла, но явно что-то упускаю.Я очень новичок в javascript и поэтому надеюсь, что мне не хватает чего-то очень простого.Предполагая, что у меня есть файл .jpg в том же каталоге, что и этот код, с именем 123456.jpg, я хочу, чтобы код просто возвращал значение штрих-кода в качестве предупреждения.Любая помощь очень ценится (и полностью готов быть взорван за мое непонимание javascript!)

Мой код ниже:

<script src="http://www.myserver.com/v3/javascripts/jquery-2.0.0.min.js" type="text/javascript"></script>
<script src="js/quagga.min.js" type="text/javascript"></script>

<script>

Quagga.decodeSingle({
    decoder: {
        readers: ["code_39_reader"] // List of active readers
    },
    locate: true, // try to locate the barcode in the image
    src: '123456.jpg' // or 'data:image/jpg;base64,' + data
}, function(result){
    if(result.codeResult) {
        console.log("result", result.codeResult.code);
        alert(result.codeResult.code);
    } else {
        console.log("not detected");
        alert("not detected");
    }
});


</script>

1 Ответ

0 голосов
/ 27 сентября 2019

Возможно неуклюже ... но я получил следующее для декодирования штрих-кода Code_39 в статический файл .jpg, расположенный в той же директории, при загрузке страницы:

<div>
    <div id="resultdiv">scanning... </div>
</div>


<script src="../js/quagga.js" type="text/javascript"></script>
<script type="text/javascript">

    var Quagga = window.Quagga;
    var App = {
        _scanner: null,
        init: function() {

            this.decode();
        },
        decode: function(file) {
            Quagga
                .decoder({readers: ['code_39_reader']})
                .locator({patchSize: 'x-small'})
                .fromSource('converted.jpg', {size: 1920})
                .toPromise()
                .then(function(result) {
                    document.getElementById("resultdiv").innerHTML=result.codeResult.code; 
                })
                .catch(function() {
                    document.getElementById("resultdiv").innerHTML= "Not Found"; 
                })

        }
    };
    App.init();

</script>
...