Мне нужно декодировать QR-изображение из галереи в ионном.Я использую следующий код, чтобы получить изображение из галереи и декодировать его,
gallery() {
let options = {
destinationType: this.camera.DestinationType.FILE_URI,
sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
};
this.camera.getPicture(options).then((imageData) => {
this.base64String = imageData;
this.decodeImg((response) => {
console.log("response:", response);
if (response && response != "error in decoding QR Code" && response != "error decoding QR Code") {
console.log(“Decoded Data ”, response);
}
else {
console.log(“Error”);
}
});
}, (err) => {
console.log(“Error”, err);
});
}
decodeImg(callback) {
this.decodeImageFromBase64( this.base64String, (decodedInformation) => {
console.log("Final Output ", decodedInformation);
callback(decodedInformation);
});
}
decodeImageFromBase64(data, callback) {
try {
// set callback
qrcode.callback = callback;
// Start decoding
qrcode.decode(data);
} catch (error) {
console.log("error ", error);
}
}
Проблема в том, что некоторые QR-коды декодируются должным образом, а для некоторых QR-сообщений я получаю «ошибку при декодировании QR-кода».Но тот же QR отлично работает в онлайн-декодере.Пожалуйста, дайте мне знать, решение, почему некоторые QR не декодируют должным образом.
Иначе, как альтернативный способ декодировать QR-изображения из галереи в ионном.