Dynamics 365: QuaggaJS не работает для нескольких изображений - PullRequest
0 голосов
/ 29 января 2019

У меня есть требование для включения функции чтения штрих-кода в порталы Microsoft Dynamics 365.Итак, я использовал QuaggaJS для его реализации.Однако QuaggaJS не работает для изображений.Это читает другое значение.Не могли бы вы проверить приведенный ниже код и сообщить мне, что я делаю неправильно, чтобы я мог его исправить?

$(function() {
				
        var App = {
            init: function() {
                App.attachListeners();
            } ,
            debugApp : function(msg){
                    if(true)
                    {					
						debugCon = $("#codeResult");
						debugCon.text(debugCon.text()+" , "+msg) ;
                    }
                },
            attachListeners: function() {
                var self = this;               			

                $("#AttachFile").on("change",function(e){
					$('#new_barcodevalue').val("");
                    var files = e.target.files ;
                        if (files && files.length > 0) {
                            file = files[0];
                            try {
                                var URL = window.URL || window.webkitURL;
                                var imgURL = URL.createObjectURL(file);
                                $("#picturePreview").attr("src",imgURL);
								$("#picturePreview").css("display","block");
								
								var input = $("#AttachFile");
								if (input[0].files && input[0].files.length) {
									var tmpImgURL = URL.createObjectURL(input[0].files[0]) ;
									App.decode(tmpImgURL);
								}
                            }
                            catch (e) {
                                try {
                                    var fileReader = new FileReader();
                                    fileReader.onload = function (event) {
                                     $("#picturePreview").attr("src",event.target.result);
                                    };
                                    fileReader.readAsDataURL(file);
                                }
                                catch (e) {
                                    $("#codeResult").text("Fail !!! createObjectURL and FileReader are not supported by browser");
                                }
                            }
                        }
                });
            },
            decode: function(src) {
                Quagga.decodeSingle(
                    {                 
                      decoder: {
                        readers: ["upc_reader", "code_128_reader", "code_39_reader", "code_39_vin_reader", "ean_8_reader", "ean_reader", "upc_e_reader", "codabar_reader", "i2of5_reader", "2of5_reader", "code_93_reader"]

                    },
                      locate: true,
                      src: src
                    },

                 function(result){
                      if(result && result.codeResult && result.codeResult.code)
                      {
                        $("#new_barcodevalue").val(result.codeResult.code);
                      }else{
                        $("#new_barcodevalue").val("Unable to read");
                      }
                    });
            }
        };

        App.init();
		
		
    });
        
<div class="cell file-cell"><div class="info"><label for="AttachFile" id="AttachFileLabel">Attach a file</label></div><div class="control"><input type="file"  id="AttachFile" accept="*" aria-label="Attach a file..."><span id="AttachFileSizeValidatorAttachFile" style="display:none;"></span></div></div>
<img width="320" height="240" src="" id="picturePreview" style="border:1px solid black;margin-top:10px;display:none;" /> <br />
...